diff options
author | manga_osyo <manga.osyo@gmail.com> | 2020-07-07 20:18:18 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-07-08 17:43:04 +0900 |
commit | ff5e66034006a875125581114cce19d46843b32a (patch) | |
tree | c77187300742268bd78e358b5d8ea67e46a52a8e /test | |
parent | 57cde28c20ac0714b5dfad97414f71d9af373084 (diff) | |
download | ruby-ff5e66034006a875125581114cce19d46843b32a.tar.gz |
Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`.
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_ast.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_ast.rb b/test/ruby/test_ast.rb index da7dde4a38..0d846b76e4 100644 --- a/test/ruby/test_ast.rb +++ b/test/ruby/test_ast.rb @@ -330,4 +330,19 @@ class TestAst < Test::Unit::TestCase assert_equal(:+, op) assert_equal(:VCALL, value.type) end + + def test_args + rest = 6 + node = RubyVM::AbstractSyntaxTree.parse("proc { |a| }") + _, args = *node.children.last.children[1].children + assert_equal(nil, args.children[rest]) + + node = RubyVM::AbstractSyntaxTree.parse("proc { |a,| }") + _, args = *node.children.last.children[1].children + assert_equal(:NODE_SPECIAL_EXCESSIVE_COMMA, args.children[rest]) + + node = RubyVM::AbstractSyntaxTree.parse("proc { |*a| }") + _, args = *node.children.last.children[1].children + assert_equal(:a, args.children[rest]) + end end |