diff options
Diffstat (limited to 'test/ripper/test_parser_events.rb')
-rw-r--r-- | test/ripper/test_parser_events.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 5ed17b6924..107fb6192f 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -389,6 +389,16 @@ class TestRipper::ParserEvents < Test::Unit::TestCase } assert_equal true, thru_call assert_equal "[call(vcall(foo),::,call,[])]", tree + + thru_call = false + tree = parse("self.?foo", :on_call) {thru_call = true} + assert_equal true, thru_call + assert_equal "[call(ref(self),.?,foo)]", tree + + thru_call = false + tree = parse("self.?foo()", :on_call) {thru_call = true} + assert_equal true, thru_call + assert_equal "[call(ref(self),.?,foo,[])]", tree end def test_excessed_comma @@ -554,8 +564,13 @@ class TestRipper::ParserEvents < Test::Unit::TestCase def test_defs thru_defs = false - parse('def foo.bar; end', :on_defs) {thru_defs = true} + tree = parse('def foo.bar; end', :on_defs) {thru_defs = true} assert_equal true, thru_defs + assert_equal("[defs(vcall(foo),.,bar,[],bodystmt([void()]))]", tree) + + thru_parse_error = false + tree = parse('def foo.?bar; end', :on_parse_error) {thru_parse_error = true} + assert_equal(true, thru_parse_error) end def test_do_block |