summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authormanga_osyo <manga.osyo@gmail.com>2020-07-07 20:18:18 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-07-08 17:43:04 +0900
commitff5e66034006a875125581114cce19d46843b32a (patch)
treec77187300742268bd78e358b5d8ea67e46a52a8e /test/ruby
parent57cde28c20ac0714b5dfad97414f71d9af373084 (diff)
Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3298
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_ast.rb15
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