From 0f1c7d7e7951c376ffda949b59c7dda4894a98bb Mon Sep 17 00:00:00 2001 From: Svyatoslav Kryukov Date: Sat, 25 Sep 2021 01:59:40 +0300 Subject: [PATCH] add tests for keyword argument value omission (#821) --- test/test_parser.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/test_parser.rb b/test/test_parser.rb index 4a71e1e7a..2b0cdb509 100644 --- a/test/test_parser.rb +++ b/test/test_parser.rb @@ -10084,6 +10084,30 @@ def test_value_omission | ~~ expression (pair) |~~~~~~~~ expression}, SINCE_3_1) + + assert_diagnoses( + [:error, :unexpected_token, { :token => 'tRCURLY' }], + %q{{"#{x}":}}, + %q{ ^ location}, + SINCE_3_1) + end + + def test_keyword_argument_omission + assert_parses( + s(:send, nil, :foo, + s(:kwargs, + s(:pair, s(:sym, :a), s(:send, nil, :a)), + s(:pair, s(:sym, :b), s(:send, nil, :b)))), + %q{foo(a:, b:)}, + %q{ ^ begin + | ^ end + | ^ operator (kwargs.pair) + | ~ expression (kwargs.pair.sym) + | ~~ expression (kwargs.pair.send) + | ~~ expression (kwargs.pair) + | ~~~~~~ expression (kwargs) + |~~~~~~~~~~~ expression}, + SINCE_3_1) end def test_rasgn_line_continuation