diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-06-25 01:14:26 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-06-25 01:14:26 +0900 |
commit | 3d8705dcfdd567278c833c252ea11c018c0d3890 (patch) | |
tree | 03cfb2e8bc1e37bb1dc51079355c8e7e5bf780df /test/ripper | |
parent | 419b0596a2ada720ae1b3f2c1bd3ab5e12819ac8 (diff) | |
download | ruby-3d8705dcfdd567278c833c252ea11c018c0d3890.tar.gz |
Drop token info for endless method definition
Because it does not have closing `end`.
Diffstat (limited to 'test/ripper')
-rw-r--r-- | test/ripper/test_parser_events.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 5b05624683..13064c2bc8 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -26,13 +26,21 @@ class TestRipper::ParserEvents < Test::Unit::TestCase end def warning(str) - parse(str, :warning) {|e, *args| return args} - assert(false, "warning expected") + tree = parse(str, :warning) {|e, *args| return args} + if block_given? + yield tree + else + assert(false, "warning expected") + end end def warn(str) - parse(str, :warn) {|e, *args| return args} - assert(false, "warning expected") + tree = parse(str, :warn) {|e, *args| return args} + if block_given? + yield tree + else + assert(false, "warning expected") + end end def test_program @@ -1552,6 +1560,10 @@ class TestRipper::ParserEvents < Test::Unit::TestCase fmt, tokend, tokbeg, line = assert_warning("") {break warn("if true\n end\n")} assert_match(/mismatched indentations/, fmt) assert_equal(["if", "end", 1], [tokbeg, tokend, line]) + result = assert_warning("") { + warn("begin\n" " def f() = nil\n" "end\n") {break :ok} + } + assert_equal(:ok, result) end def test_in |