aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/initializers/initializers_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/test/application/initializers/initializers_test.rb')
-rw-r--r--railties/test/application/initializers/initializers_test.rb55
1 files changed, 55 insertions, 0 deletions
diff --git a/railties/test/application/initializers/initializers_test.rb b/railties/test/application/initializers/initializers_test.rb
new file mode 100644
index 0000000000..0c3de7ce33
--- /dev/null
+++ b/railties/test/application/initializers/initializers_test.rb
@@ -0,0 +1,55 @@
+require "isolation/abstract_unit"
+
+module ApplicationTests
+ class InitializersTest < Test::Unit::TestCase
+ include ActiveSupport::Testing::Isolation
+
+ def setup
+ build_app
+ boot_rails
+ FileUtils.rm_rf "#{app_path}/config/environments"
+ end
+
+ test "load initializers" do
+ app_file "config/initializers/foo.rb", "$foo = true"
+ require "#{app_path}/config/environment"
+ assert $foo
+ end
+
+ test "after_initialize block works correctly" do
+ add_to_config <<-RUBY
+ config.root = "#{app_path}"
+ config.after_initialize { $test_after_initialize_block1 = "success" }
+ config.after_initialize { $test_after_initialize_block2 = "congratulations" }
+ 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
+ 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" }
+ RUBY
+ require "#{app_path}/config/environment"
+
+ assert_equal "success", $test_after_initialize_block1
+ assert_equal "congratulations", $test_after_initialize_block2
+ end
+
+ test "after_initialize runs after frameworks have been initialized" do
+ $activerecord_configurations = nil
+ add_to_config <<-RUBY
+ config.after_initialize { $activerecord_configurations = ActiveRecord::Base.configurations }
+ RUBY
+
+ require "#{app_path}/config/environment"
+ assert $activerecord_configurations
+ assert $activerecord_configurations['development']
+ end
+ end
+end