From 67c574736912003c377218153f9d3b9c0c96a17b Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 31 Dec 2018 15:00:37 +0000 Subject: Method reference operator Introduce the new operator for method reference, `.:`. [Feature #12125] [Feature #13581] [EXPERIMENTAL] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ripper/test_parser_events.rb | 7 +++++++ test/ripper/test_scanner_events.rb | 2 ++ 2 files changed, 9 insertions(+) (limited to 'test/ripper') diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 95ec661fcf..3c78daf16e 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -434,6 +434,13 @@ class TestRipper::ParserEvents < Test::Unit::TestCase assert_equal "[call(ref(self),&.,foo,[])]", tree end + def test_methref + thru_methref = false + tree = parse("obj.:foo", :on_methref) {thru_methref = true} + assert_equal true, thru_methref + assert_equal "[methref(vcall(obj),foo)]", tree + end + def test_excessed_comma thru_excessed_comma = false parse("proc{|x,|}", :on_excessed_comma) {thru_excessed_comma = true} diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb index c9fce34a77..94df6616e8 100644 --- a/test/ripper/test_scanner_events.rb +++ b/test/ripper/test_scanner_events.rb @@ -550,6 +550,8 @@ class TestRipper::ScannerEvents < Test::Unit::TestCase scan('op', ':[]=') assert_equal ['&.'], scan('op', 'a&.f') + assert_equal %w(.:), + scan('op', 'obj.:foo') assert_equal [], scan('op', %q[`make all`]) end -- cgit v1.2.3