diff options
Diffstat (limited to 'railties/test/new_initializer_test.rb')
-rw-r--r-- | railties/test/new_initializer_test.rb | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/railties/test/new_initializer_test.rb b/railties/test/new_initializer_test.rb deleted file mode 100644 index 67b66fb088..0000000000 --- a/railties/test/new_initializer_test.rb +++ /dev/null @@ -1,165 +0,0 @@ -require 'abstract_unit' -require 'active_support/ruby/shim' -require 'rails/initializer' - -class InitializerRunnerTest < ActiveSupport::TestCase - - def setup - @runner = Rails::Initializer::Runner.new - end - - test "A new runner can be created" do - assert @runner - end - - test "The initializers actually get run when the runner is run" do - state = nil - - @runner.add :foo do - run { state = true } - end - - @runner.run - assert state - end - - test "By default, initializers get run in the order that they are added" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - @runner.run - assert_equal [:first, :second], state - end - - test "Raises an exception if :before or :after are specified, but don't exist" do - assert_raise(Rails::Initializer::Error) do - @runner.add(:fail, :before => :whale) { 1 } - end - - assert_raise(Rails::Initializer::Error) do - @runner.add(:fail, :after => :whale) { 1 } - end - end - - test "When adding an initializer, specifying :after allows you to move an initializer after another" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - @runner.add :third, :after => :first do - run { state << :third } - end - - @runner.run - assert_equal [:first, :third, :second], state - end - - test "An initializer can be deleted" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - @runner.delete(:second) - - @runner.run - assert_equal [:first], state - end - - test "A runner can be initialized with an existing runner, which it copies" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - Rails::Initializer::Runner.new(@runner).run - assert_equal [:first, :second], state - end - - test "A child runner can be still be modified without modifying the parent" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - new_runner = Rails::Initializer::Runner.new(@runner) - new_runner.add :trois do - run { state << :trois } - end - new_runner.delete(:second) - - new_runner.run - assert_equal [:first, :trois], state - state.clear - @runner.run - assert_equal [:first, :second], state - end - - test "A child runner that is modified does not modify any other children of the same parent" do - state = [] - - @runner.add :first do - run { state << :first } - end - - @runner.add :second do - run { state << :second } - end - - child_one = Rails::Initializer::Runner.new(@runner) - child_two = Rails::Initializer::Runner.new(@runner) - - child_one.delete(:second) - child_two.run - - assert_equal [:first, :second], state - end - - test "It does not run the initializer block immediately" do - state = [] - @runner.add :first do - state << :first - end - - assert_equal [], state - end - - test "It runs the block when the runner is run" do - state = [] - @runner.add :first do - state << :first - end - - @runner.run - assert_equal [:first], state - end - -end
\ No newline at end of file |