summaryrefslogtreecommitdiff
path: root/test/ruby/test_method.rb
diff options
context:
space:
mode:
authorMaciej Mensfeld <maciej@mensfeld.pl>2019-08-30 11:24:33 +0200
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-08-30 18:24:33 +0900
commitc45dd4d4826704471cf9ff2c7869065236dd174e (patch)
treec63febf0d114c29263e746deb2130fcd5ae4a8d7 /test/ruby/test_method.rb
parent998ee350b9b2cb3659c442d68447aa8bfc54d101 (diff)
Make the dot-colon method reference frozen
[Feature #16103] Close: https://github.com/ruby/ruby/pull/2267
Diffstat (limited to 'test/ruby/test_method.rb')
-rw-r--r--test/ruby/test_method.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb
index 1d59ddb594..d85f9010c7 100644
--- a/test/ruby/test_method.rb
+++ b/test/ruby/test_method.rb
@@ -1141,6 +1141,19 @@ class TestMethod < Test::Unit::TestCase
assert_nil(o.method(:foo))
end
+ def test_method_reference_freeze_state
+ m = 1.:succ
+ assert_predicate(m, :frozen?, "dot-symbol method reference should be frozen")
+ m = 1.method(:succ)
+ assert_not_predicate(m, :frozen?, "#method method reference should not be frozen")
+ o = Object.new
+ def o.foo; 42; end
+ m = o.:foo
+ assert_predicate(m, :frozen?, "dot-symbol method reference should be frozen")
+ m = o.method(:foo)
+ assert_not_predicate(m, :frozen?, "#method method reference should not be frozen")
+ end
+
def test_umethod_bind_call
foo = Base.instance_method(:foo)
assert_equal(:base, foo.bind_call(Base.new))