From 97296b11e2c4011ea5522c4de0153f7ffa6a47ae Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Thu, 15 Oct 2009 14:50:02 -0700 Subject: Have config/application.rb contain the application definition and require that file instead of config/boot.rb or config/environment.rb in script/*. --- railties/test/application/generators_test.rb | 4 ++++ railties/test/application/initializer_test.rb | 15 +++++++++++++++ railties/test/application/plugins_test.rb | 15 ++++++++++++--- 3 files changed, 31 insertions(+), 3 deletions(-) (limited to 'railties/test/application') diff --git a/railties/test/application/generators_test.rb b/railties/test/application/generators_test.rb index 0edb29483d..c664b61137 100644 --- a/railties/test/application/generators_test.rb +++ b/railties/test/application/generators_test.rb @@ -41,6 +41,8 @@ module ApplicationTests c.generators.orm :datamapper c.generators.test_framework :rspec end + # Initialize the application + Rails.application.new assert_equal :rspec, Rails::Generators.options[:rails][:test_framework] assert_equal "-w", Rails::Generators.aliases[:rails][:test_framework] @@ -50,6 +52,8 @@ module ApplicationTests Rails::Initializer.run do |c| c.generators.colorize_logging = false end + # Initialize the application + Rails.application.new assert_equal Thor::Base.shell, Thor::Shell::Basic end diff --git a/railties/test/application/initializer_test.rb b/railties/test/application/initializer_test.rb index f46bf2b656..76486d8f2c 100644 --- a/railties/test/application/initializer_test.rb +++ b/railties/test/application/initializer_test.rb @@ -52,6 +52,8 @@ module ApplicationTests config.eager_load_paths = "#{app_path}/lib" end + Rails.application.new + assert Zoo end @@ -59,6 +61,7 @@ module ApplicationTests app_file "config/environments/development.rb", "$initialize_test_set_from_env = 'success'" assert_nil $initialize_test_set_from_env Rails::Initializer.run { } + Rails.application.new assert_equal "success", $initialize_test_set_from_env end @@ -67,6 +70,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [] end + Rails.application.new end end @@ -74,6 +78,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [:action_controller] end + Rails.application.new assert $:.include?("#{framework_path}/actionpack/lib") end @@ -82,6 +87,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [:action_view] end + Rails.application.new assert $:.include?("#{framework_path}/actionpack/lib") end @@ -91,6 +97,7 @@ module ApplicationTests config.after_initialize { $test_after_initialize_block1 = "success" } config.after_initialize { $test_after_initialize_block2 = "congratulations" } end + Rails.application.new assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 @@ -102,6 +109,7 @@ module ApplicationTests config.after_initialize # don't pass a block, this is what we're testing! config.after_initialize { $test_after_initialize_block2 = "congratulations" } end + Rails.application.new assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 @@ -112,6 +120,8 @@ module ApplicationTests Rails::Initializer.run do |config| config.i18n.default_locale = :de end + Rails.application.new + assert_equal :de, I18n.default_locale end @@ -143,6 +153,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.action_controller.session_store = :cookie_store end + Rails.application.new assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end @@ -158,6 +169,7 @@ module ApplicationTests Rails::Initializer.run do |c| c.action_controller.session_store = :active_record_store end + Rails.application.new expects = [ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActiveRecord::SessionStore] middleware = Rails.application.config.middleware.map { |m| m.klass } @@ -169,6 +181,7 @@ module ApplicationTests c.frameworks -= [:action_controller] c.action_controller.session_store = :active_record_store end + Rails.application.new assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end @@ -178,6 +191,8 @@ module ApplicationTests Rails::Initializer.run do |c| c.frameworks -= [:action_view] end + Rails.application.new + assert_equal nil, ActionMailer::Base.template_root assert_equal [], ActionController::Base.view_paths end diff --git a/railties/test/application/plugins_test.rb b/railties/test/application/plugins_test.rb index 81e7f4d88c..a4cf322139 100644 --- a/railties/test/application/plugins_test.rb +++ b/railties/test/application/plugins_test.rb @@ -18,6 +18,7 @@ module ApplicationTests test "all plugins are loaded when registered plugin list is untouched" do Rails::Initializer.run { } + Rails.application.new assert_plugins [ :a, :acts_as_chunky_bacon, :engine, :gemlike, :plugin_with_no_lib_dir, :stubby ], Rails.application.config.loaded_plugins, @failure_tip @@ -31,6 +32,7 @@ module ApplicationTests test "only the specified plugins are located in the order listed" do plugin_names = [:plugin_with_no_lib_dir, :acts_as_chunky_bacon] Rails::Initializer.run { |c| c.plugins = plugin_names } + Rails.application.new assert_plugins plugin_names, Rails.application.config.loaded_plugins end @@ -38,6 +40,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :all, :acts_as_chunky_bacon] end + Rails.application.new assert_plugins [:stubby, :a, :engine, :gemlike, :plugin_with_no_lib_dir, :acts_as_chunky_bacon], Rails.application.config.loaded_plugins, @failure_tip end @@ -46,6 +49,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = ['stubby', 'acts_as_chunky_bacon', :a, :plugin_with_no_lib_dir] end + Rails.application.new assert_plugins plugin_names, Rails.application.config.loaded_plugins, @failure_tip end @@ -54,6 +58,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon, :all] end + Rails.application.new assert_plugins [:stubby, :acts_as_chunky_bacon, :a, :engine, :gemlike, :plugin_with_no_lib_dir], Rails.application.config.loaded_plugins, @failure_tip end @@ -62,16 +67,19 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon] end + Rails.application.new assert $LOAD_PATH.include?("#{app_path}/vendor/plugins/default/stubby/lib") assert $LOAD_PATH.include?("#{app_path}/vendor/plugins/default/acts/acts_as_chunky_bacon/lib") end test "registering a plugin name that does not exist raises a load error" do + Rails::Initializer.run do |config| + config.plugins = [:stubby, :acts_as_a_non_existant_plugin] + end + assert_raise(LoadError) do - Rails::Initializer.run do |config| - config.plugins = [:stubby, :acts_as_a_non_existant_plugin] - end + Rails.application.new end end @@ -83,6 +91,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon, :non_existant_plugin1, :non_existant_plugin2] end + Rails.application.new flunk "Expected a LoadError but did not get one" rescue LoadError => e assert_plugins valid_plugins, Rails.application.config.loaded_plugins, @failure_tip -- cgit v1.2.3