aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-11-13 16:26:22 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2012-11-13 16:35:16 -0800
commite5946e0396eaa581391a93026ebe816a3bf4409d (patch)
treec9a8dc84b142c4c3b27f6724c9f1c676c8bdb386 /railties/test
parente5248aacd0718afbf2f631dbb3274b501695c474 (diff)
downloadrails-e5946e0396eaa581391a93026ebe816a3bf4409d.tar.gz
rails-e5946e0396eaa581391a93026ebe816a3bf4409d.tar.bz2
rails-e5946e0396eaa581391a93026ebe816a3bf4409d.zip
asset compilation should not require a database connection
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/assets_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index f86877db34..f98915d1cc 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -83,6 +83,32 @@ module ApplicationTests
end
end
+ def test_precompile_does_not_hit_the_database
+ app_file "app/assets/javascripts/application.js", "alert();"
+ app_file "app/assets/javascripts/foo/application.js", "alert();"
+ app_file "app/controllers/user_controller.rb", <<-eoruby
+ class UserController < ApplicationController; end
+ eoruby
+ app_file "app/models/user.rb", <<-eoruby
+ class User < ActiveRecord::Base; end
+ eoruby
+
+ ENV['RAILS_ENV'] = 'production'
+ ENV['DATABASE_URL'] = 'postgresql://baduser:badpass@127.0.0.1/dbname'
+
+ precompile!
+
+ files = Dir["#{app_path}/public/assets/application-*.js"]
+ files << Dir["#{app_path}/public/assets/foo/application-*.js"].first
+ files.each do |file|
+ assert_not_nil file, "Expected application.js asset to be generated, but none found"
+ assert_equal "alert();".strip, File.read(file).strip
+ end
+ ensure
+ ENV.delete 'RAILS_ENV'
+ ENV.delete 'DATABASE_URL'
+ end
+
test "precompile application.js and application.css and all other non JS/CSS files" do
app_file "app/assets/javascripts/application.js", "alert();"
app_file "app/assets/stylesheets/application.css", "body{}"