class RemoveMethodTest

Public Instance Methods

test_redefine_method_in_an_object() click to toggle source
# File activesupport/test/core_ext/module/remove_method_test.rb, line 45
def test_redefine_method_in_an_object
  RemoveMethodTests::A.class_eval {
    redefine_method(:do_something) { return 100 }
    redefine_method(:do_something_protected) { return 100 }
    redefine_method(:do_something_private) { return 100 }
  }
  assert_equal 100, RemoveMethodTests::A.new.do_something
  assert_equal 100, RemoveMethodTests::A.new.send(:do_something_protected)
  assert_equal 100, RemoveMethodTests::A.new.send(:do_something_private)

  assert RemoveMethodTests::A.public_method_defined? :do_something
  assert RemoveMethodTests::A.protected_method_defined? :do_something_protected
  assert RemoveMethodTests::A.private_method_defined? :do_something_private
end
test_remove_method_from_an_object() click to toggle source
# File activesupport/test/core_ext/module/remove_method_test.rb, line 31
def test_remove_method_from_an_object
  RemoveMethodTests::A.class_eval {
    remove_possible_method(:do_something)
  }
  assert !RemoveMethodTests::A.new.respond_to?(:do_something)
end
test_remove_singleton_method_from_an_object() click to toggle source
# File activesupport/test/core_ext/module/remove_method_test.rb, line 38
def test_remove_singleton_method_from_an_object
  RemoveMethodTests::A.class_eval {
    remove_possible_singleton_method(:do_something_else)
  }
  assert !RemoveMethodTests::A.respond_to?(:do_something_else)
end