diff options
author | José Valim <jose.valim@gmail.com> | 2009-12-22 08:26:00 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-12-22 08:26:00 +0100 |
commit | 4b8330d2d50ae4de14dd43ffbea4d91804553140 (patch) | |
tree | 8d925e361688cf09ab6e3fe8df6b9609a69ffa83 /railties/test | |
parent | 5f34421c77b4cd873baadbbca877a93de5a4d602 (diff) | |
parent | 8e48a5ef0ca488b2264acd2b38bdae14970c011f (diff) | |
download | rails-4b8330d2d50ae4de14dd43ffbea4d91804553140.tar.gz rails-4b8330d2d50ae4de14dd43ffbea4d91804553140.tar.bz2 rails-4b8330d2d50ae4de14dd43ffbea4d91804553140.zip |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/application/configuration_test.rb | 2 | ||||
-rw-r--r-- | railties/test/application/initializer_test.rb | 150 | ||||
-rw-r--r-- | railties/test/application/routing_test.rb | 26 | ||||
-rw-r--r-- | railties/test/initializer/initialize_i18n_test.rb | 11 | ||||
-rw-r--r-- | railties/test/initializer/path_test.rb | 8 | ||||
-rw-r--r-- | railties/test/isolation/abstract_unit.rb | 9 | ||||
-rw-r--r-- | railties/test/paths_test.rb | 3 | ||||
-rw-r--r-- | railties/test/plugins/configuration_test.rb | 4 |
8 files changed, 122 insertions, 91 deletions
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index 89337b7f66..83e1401993 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -60,7 +60,7 @@ module ApplicationTests RUBY require "#{app_path}/config/application" - assert AppTemplate.configuration.action_controller.allow_concurrency + assert AppTemplate::Application.configuration.action_controller.allow_concurrency end test "the application can be marked as threadsafe when there are no frameworks" do diff --git a/railties/test/application/initializer_test.rb b/railties/test/application/initializer_test.rb index fa00d287ca..b3eff1deb9 100644 --- a/railties/test/application/initializer_test.rb +++ b/railties/test/application/initializer_test.rb @@ -6,30 +6,29 @@ module ApplicationTests def setup build_app - FileUtils.rm_rf("#{app_path}/config/environments") boot_rails require "rails" end test "initializing an application adds the application paths to the load path" do - Rails::Initializer.run do |config| - config.root = app_path - end + add_to_config <<-RUBY + config.root = "#{app_path}" + RUBY - Rails.initialize! + require "#{app_path}/config/environment" assert $:.include?("#{app_path}/app/models") end test "adding an unknown framework raises an error" do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.frameworks << :action_foo - end + RUBY require "active_support/core_ext/load_error" assert_raises MissingSourceFile do - Rails.initialize! + require "#{app_path}/config/environment" end end @@ -41,12 +40,12 @@ module ApplicationTests module Zoo::ReptileHouse ; end ZOO - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.eager_load_paths = "#{app_path}/lib" - end + RUBY - Rails.initialize! + require "#{app_path}/config/environment" assert Zoo end @@ -54,41 +53,43 @@ module ApplicationTests test "load environment with global" do app_file "config/environments/development.rb", "$initialize_test_set_from_env = 'success'" assert_nil $initialize_test_set_from_env - Rails::Initializer.run { |config| config.root = app_path } - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + RUBY + require "#{app_path}/config/environment" assert_equal "success", $initialize_test_set_from_env end test "action_controller load paths set only if action controller in use" do assert_nothing_raised NameError do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.frameworks = [] - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" end end test "after_initialize block works correctly" do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.after_initialize { $test_after_initialize_block1 = "success" } config.after_initialize { $test_after_initialize_block2 = "congratulations" } - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 end test "after_initialize block works correctly when no block is passed" do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.after_initialize { $test_after_initialize_block1 = "success" } config.after_initialize # don't pass a block, this is what we're testing! config.after_initialize { $test_after_initialize_block2 = "congratulations" } - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 @@ -96,35 +97,40 @@ module ApplicationTests # i18n test "setting another default locale" do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.i18n.default_locale = :de - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" assert_equal :de, I18n.default_locale end test "no config locales dir present should return empty load path" do FileUtils.rm_rf "#{app_path}/config/locales" - Rails::Initializer.run do |c| - c.root = app_path - assert_equal [], c.i18n.load_path - end + add_to_config <<-RUBY + config.root = "#{app_path}" + RUBY + require "#{app_path}/config/environment" + + assert_equal [], Rails.application.config.i18n.load_path end test "config locales dir present should be added to load path" do - Rails::Initializer.run do |c| - c.root = app_path - assert_equal ["#{app_path}/config/locales/en.yml"], c.i18n.load_path - end + add_to_config <<-RUBY + config.root = "#{app_path}" + RUBY + + require "#{app_path}/config/environment" + assert_equal ["#{app_path}/config/locales/en.yml"], Rails.application.config.i18n.load_path end test "config defaults should be added with config settings" do - Rails::Initializer.run do |c| - c.root = app_path - c.i18n.load_path << "my/other/locale.yml" - end + add_to_config <<-RUBY + config.root = "#{app_path}" + config.i18n.load_path << "my/other/locale.yml" + RUBY + require "#{app_path}/config/environment" assert_equal [ "#{app_path}/config/locales/en.yml", "my/other/locale.yml" @@ -133,29 +139,31 @@ module ApplicationTests # DB middleware test "database middleware doesn't initialize when session store is not active_record" do - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.action_controller.session_store = :cookie_store - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end test "database middleware doesn't initialize when activerecord is not in frameworks" do - Rails::Initializer.run do |c| - c.root = app_path - c.frameworks = [] - end + add_to_config <<-RUBY + config.root = "#{app_path}" + config.frameworks = [] + RUBY + require "#{app_path}/config/environment" + assert_equal [], Rails.application.config.middleware end test "database middleware initializes when session store is active record" do - Rails::Initializer.run do |c| - c.root = app_path - c.action_controller.session_store = :active_record_store - end - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + config.action_controller.session_store = :active_record_store + RUBY + require "#{app_path}/config/environment" expects = [ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActiveRecord::SessionStore] middleware = Rails.application.config.middleware.map { |m| m.klass } @@ -163,33 +171,33 @@ module ApplicationTests end test "ensure database middleware doesn't use action_controller on initializing" do - Rails::Initializer.run do |c| - c.root = app_path - c.frameworks -= [:action_controller] - c.action_controller.session_store = :active_record_store - end - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + config.frameworks -= [:action_controller] + config.action_controller.session_store = :active_record_store + RUBY + require "#{app_path}/config/environment" assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end # Pathview test test "load view paths doesn't perform anything when action_view not in frameworks" do - Rails::Initializer.run do |c| - c.root = app_path - c.frameworks -= [:action_view] - end - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + config.frameworks -= [:action_view] + RUBY + require "#{app_path}/config/environment" assert_equal nil, ActionMailer::Base.template_root assert_equal [], ActionController::Base.view_paths end test "Rails.root should be a Pathname" do - Rails::Initializer.run do |c| - c.root = app_path - end - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + RUBY + require "#{app_path}/config/environment" assert_instance_of Pathname, Rails.root end end diff --git a/railties/test/application/routing_test.rb b/railties/test/application/routing_test.rb index decde056fd..7b1df7f45d 100644 --- a/railties/test/application/routing_test.rb +++ b/railties/test/application/routing_test.rb @@ -28,6 +28,12 @@ module ApplicationTests end RUBY + app_file 'config/routes.rb', <<-RUBY + AppTemplate::Application.routes.draw do |map| + match ':controller(/:action)' + end + RUBY + get '/foo' assert_equal 'foo', last_response.body end @@ -49,6 +55,12 @@ module ApplicationTests end RUBY + app_file 'config/routes.rb', <<-RUBY + AppTemplate::Application.routes.draw do |map| + match ':controller(/:action)' + end + RUBY + get '/foo' assert_equal 'foo', last_response.body @@ -75,6 +87,12 @@ module ApplicationTests end RUBY + app_file 'config/routes.rb', <<-RUBY + AppTemplate::Application.routes.draw do |map| + match ':controller(/:action)' + end + RUBY + get '/foo' assert_equal 'foo', last_response.body @@ -92,7 +110,7 @@ module ApplicationTests RUBY app_file 'config/routes.rb', <<-RUBY - ActionController::Routing::Routes.draw do |map| + AppTemplate::Application.routes.draw do |map| match 'foo', :to => 'foo#index' end RUBY @@ -107,7 +125,7 @@ module ApplicationTests RUBY plugin.write 'config/routes.rb', <<-RUBY - ActionController::Routing::Routes.draw do |map| + AppTemplate::Application.routes.draw do |map| match 'bar', :to => 'bar#index' end RUBY @@ -134,7 +152,7 @@ module ApplicationTests RUBY app_file 'config/routes.rb', <<-RUBY - ActionController::Routing::Routes.draw do |map| + AppTemplate::Application.routes.draw do |map| match 'foo', :to => 'foo#bar' end RUBY @@ -143,7 +161,7 @@ module ApplicationTests assert_equal 'bar', last_response.body app_file 'config/routes.rb', <<-RUBY - ActionController::Routing::Routes.draw do |map| + AppTemplate::Application.routes.draw do |map| match 'foo', :to => 'foo#baz' end RUBY diff --git a/railties/test/initializer/initialize_i18n_test.rb b/railties/test/initializer/initialize_i18n_test.rb index 076816d73b..472566378d 100644 --- a/railties/test/initializer/initialize_i18n_test.rb +++ b/railties/test/initializer/initialize_i18n_test.rb @@ -7,16 +7,15 @@ module InitializerTests def setup build_app boot_rails - require "rails" end # test_config_defaults_and_settings_should_be_added_to_i18n_defaults test "i18n config defaults and settings should be added to i18n defaults" do - Rails::Initializer.run do |c| - c.root = app_path - c.i18n.load_path << "my/other/locale.yml" - end - Rails.initialize! + add_to_config <<-RUBY + config.root = "#{app_path}" + config.i18n.load_path << "my/other/locale.yml" + RUBY + require "#{app_path}/config/environment" #{RAILS_FRAMEWORK_ROOT}/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml assert_equal %W( diff --git a/railties/test/initializer/path_test.rb b/railties/test/initializer/path_test.rb index 1b58a58555..fa66ebcd83 100644 --- a/railties/test/initializer/path_test.rb +++ b/railties/test/initializer/path_test.rb @@ -7,14 +7,14 @@ class PathsTest < Test::Unit::TestCase build_app boot_rails require "rails" - Rails::Initializer.run do |config| - config.root = app_path + add_to_config <<-RUBY + config.root = "#{app_path}" config.frameworks = [:action_controller, :action_view, :action_mailer, :active_record] config.after_initialize do ActionController::Base.session_store = nil end - end - Rails.initialize! + RUBY + require "#{app_path}/config/environment" @paths = Rails.application.config.paths end diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb index ba8b35d5cc..c169c80bea 100644 --- a/railties/test/isolation/abstract_unit.rb +++ b/railties/test/isolation/abstract_unit.rb @@ -89,6 +89,13 @@ module TestHelpers end end + routes = File.read("#{app_path}/config/routes.rb") + if routes =~ /(\n\s*end\s*)\Z/ + File.open("#{app_path}/config/routes.rb", 'w') do |f| + f.puts $` + "\nmatch ':controller(/:action(/:id))(.:format)'\n" + $1 + end + end + add_to_config 'config.action_controller.session = { :key => "_myapp_session", :secret => "bac838a849c1d5c4de2e6a50af826079" }' end @@ -128,7 +135,7 @@ module TestHelpers def add_to_config(str) environment = File.read("#{app_path}/config/application.rb") - if environment =~ /(\n\s*end\s*)\Z/ + if environment =~ /(\n\s*end\s*end\s*)\Z/ File.open("#{app_path}/config/application.rb", 'w') do |f| f.puts $` + "\n#{str}\n" + $1 end diff --git a/railties/test/paths_test.rb b/railties/test/paths_test.rb index c724799d64..d60d6177f6 100644 --- a/railties/test/paths_test.rb +++ b/railties/test/paths_test.rb @@ -2,7 +2,6 @@ require 'abstract_unit' require 'rails/paths' class PathsTest < ActiveSupport::TestCase - def setup @root = Rails::Application::Root.new("/foo/bar") end @@ -228,4 +227,4 @@ class PathsTest < ActiveSupport::TestCase @root.app.eager_load! assert_equal ["/foo/bar/app"], @root.load_paths end -end
\ No newline at end of file +end diff --git a/railties/test/plugins/configuration_test.rb b/railties/test/plugins/configuration_test.rb index edf8bb37f5..5786316d1d 100644 --- a/railties/test/plugins/configuration_test.rb +++ b/railties/test/plugins/configuration_test.rb @@ -21,7 +21,7 @@ module PluginsTest test "plugin configurations are available in the application" do class Foo < Rails::Plugin ; config.foo.greetings = "hello" ; end require "#{app_path}/config/application" - assert_equal "hello", AppTemplate.config.foo.greetings + assert_equal "hello", AppTemplate::Application.config.foo.greetings end test "plugin config merges are deep" do @@ -33,4 +33,4 @@ module PluginsTest assert_equal "bar", MyApp.config.foo.bar end end -end
\ No newline at end of file +end |