Sha256: c5f7d1867ae00ec95e970616d8e05761d4fa6cb1ac045aca5d6ffc1500b18be2
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
# frozen_string_literal: true require "abstract_unit" require "active_support/core_ext/module/remove_method" module RemoveMethodTests class A def do_something return 1 end def do_something_protected return 1 end protected :do_something_protected def do_something_private return 1 end private :do_something_private class << self def do_something_else return 2 end end end end class RemoveMethodTest < ActiveSupport::TestCase 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 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 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 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-on-quails-0.1.0 | activesupport/test/core_ext/module/remove_method_test.rb |