aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorAlex Yakoubian <alex@simplevue.com>2011-09-08 13:44:08 -0700
committerAlex Yakoubian <alex@simplevue.com>2011-09-08 13:44:08 -0700
commit901c02d86a1e2cccc8cc2c6ea9ec3f68a6c72607 (patch)
treed7301400831610f1795f1a8d691851312437507f /railties
parente05d4cea69919ed0a2e5832bde120b5d0f12c0ec (diff)
downloadrails-901c02d86a1e2cccc8cc2c6ea9ec3f68a6c72607.tar.gz
rails-901c02d86a1e2cccc8cc2c6ea9ec3f68a6c72607.tar.bz2
rails-901c02d86a1e2cccc8cc2c6ea9ec3f68a6c72607.zip
Fixed assets precompile regex, now accepts Procs
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application/configuration.rb3
-rw-r--r--railties/test/application/assets_test.rb28
2 files changed, 30 insertions, 1 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index 0ca664e4f0..a48db3b6d2 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -37,7 +37,8 @@ module Rails
@assets = ActiveSupport::OrderedOptions.new
@assets.enabled = false
@assets.paths = []
- @assets.precompile = [ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]
+ @assets.precompile = [ Proc.new{ |path| !File.extname(path).in?(['.js', '.css']) },
+ /application.(css|js)$/ ]
@assets.prefix = "/assets"
@assets.version = ''
@assets.debug = false
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index b9d8c002d7..b8a8665b3e 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -64,6 +64,34 @@ module ApplicationTests
end
end
+ test "precompile application.js and application.css and all other files not ending with .js or .css by default" do
+ app_file "app/assets/javascripts/application.js", "alert();"
+ app_file "app/assets/stylesheets/application.css", "body{}"
+ app_file "app/assets/javascripts/something.min.js", "alert();"
+ app_file "app/assets/stylesheets/something.min.css", "body{}"
+
+ images_should_compile = ["a.png", "happyface.png", "happy_face.png", "happy.face.png",
+ "happy-face.png", "happy.happy_face.png", "happy_happy.face.png",
+ "happy.happy.face.png", "happy", "happy.face", "-happyface",
+ "-happy.png", "-happy.face.png", "_happyface", "_happy.face.png",
+ "_happy.png"]
+ images_should_compile.each do |filename|
+ app_file "app/assets/images/#{filename}", "happy"
+ end
+
+ capture(:stdout) do
+ Dir.chdir(app_path){ `bundle exec rake assets:precompile` }
+ end
+
+ images_should_compile.each do |filename|
+ assert File.exists?("#{app_path}/public/assets/#{filename}")
+ end
+ assert File.exists?("#{app_path}/public/assets/application.js")
+ assert File.exists?("#{app_path}/public/assets/application.css")
+ assert !File.exists?("#{app_path}/public/assets/something.min.js")
+ assert !File.exists?("#{app_path}/public/assets/something.min.css")
+ end
+
test "asset pipeline should use a Sprockets::Index when config.assets.digest is true" do
add_to_config "config.assets.digest = true"
add_to_config "config.action_controller.perform_caching = false"