diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-11-13 16:26:22 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-11-13 16:35:16 -0800 |
commit | e5946e0396eaa581391a93026ebe816a3bf4409d (patch) | |
tree | c9a8dc84b142c4c3b27f6724c9f1c676c8bdb386 /railties/test | |
parent | e5248aacd0718afbf2f631dbb3274b501695c474 (diff) | |
download | rails-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.rb | 26 |
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{}" |