diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-31 15:00:37 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-31 15:00:37 +0000 |
commit | 67c574736912003c377218153f9d3b9c0c96a17b (patch) | |
tree | 558aea841613b06f6913d1ab22942aecc531a317 /test/ripper | |
parent | 4a6f7633303f2d6eb5ec164dc656cf5d47531960 (diff) | |
download | ruby-67c574736912003c377218153f9d3b9c0c96a17b.tar.gz |
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
Diffstat (limited to 'test/ripper')
-rw-r--r-- | test/ripper/test_parser_events.rb | 7 | ||||
-rw-r--r-- | test/ripper/test_scanner_events.rb | 2 |
2 files changed, 9 insertions, 0 deletions
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 |