class CallbacksTest::ResetCallbackTest
Public Instance Methods
build_class(memo)
click to toggle source
# File activesupport/test/callbacks_test.rb, line 1052 def build_class(memo) klass = Class.new { include ActiveSupport::Callbacks define_callbacks :foo set_callback :foo, :before, :hello def run; run_callbacks :foo; end } klass.class_eval { define_method(:hello) { memo << :hi } } klass end
run()
click to toggle source
# File activesupport/test/callbacks_test.rb, line 1057 def run; run_callbacks :foo; end
test_reset_callbacks()
click to toggle source
# File activesupport/test/callbacks_test.rb, line 1065 def test_reset_callbacks events = [] klass = build_class events klass.new.run assert_equal 1, events.length klass.reset_callbacks :foo klass.new.run assert_equal 1, events.length end
test_reset_impacts_subclasses()
click to toggle source
# File activesupport/test/callbacks_test.rb, line 1076 def test_reset_impacts_subclasses events = [] klass = build_class events subclass = Class.new(klass) { set_callback :foo, :before, :world } subclass.class_eval { define_method(:world) { events << :world } } subclass.new.run assert_equal 2, events.length klass.reset_callbacks :foo subclass.new.run assert_equal 3, events.length end
test_save_conditional_person()
click to toggle source
# File activesupport/test/callbacks_test.rb, line 603 def test_save_conditional_person person = CleanPerson.new person.save assert_equal [], person.history end