diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-06-10 19:05:58 -0400 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2024-06-15 13:02:26 +0900 |
| commit | b494ecfbc1b2a934d27233b7171c40adaa81e3c5 (patch) | |
| tree | 830447d17a55c37d3538f4d3a4b82083b9ca2540 /test/ruby | |
| parent | e0e1a0f502fe57e7e7e8cf643b8f141b4582d62d (diff) | |
Fix inconsistent evaluation of keyword splat (#10959)
[Bug #20180]
Backports #9624.
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_syntax.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 29de9b18c7..36b44dce9d 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -220,6 +220,7 @@ class TestSyntax < Test::Unit::TestCase def test_array_kwsplat_hash kw = {} h = {a: 1} + a = [] assert_equal([], [**{}]) assert_equal([], [**kw]) assert_equal([h], [**h]) @@ -234,6 +235,20 @@ class TestSyntax < Test::Unit::TestCase assert_equal([1, kw], [1, kw]) assert_equal([1, h], [1, h]) + assert_equal([], [*a, **{}]) + assert_equal([], [*a, **kw]) + assert_equal([h], [*a, **h]) + assert_equal([{}], [*a, {}]) + assert_equal([kw], [*a, kw]) + assert_equal([h], [*a, h]) + + assert_equal([1], [1, *a, **{}]) + assert_equal([1], [1, *a, **kw]) + assert_equal([1, h], [1, *a, **h]) + assert_equal([1, {}], [1, *a, {}]) + assert_equal([1, kw], [1, *a, kw]) + assert_equal([1, h], [1, *a, h]) + assert_equal([], [**kw, **kw]) assert_equal([], [**kw, **{}, **kw]) assert_equal([1], [1, **kw, **{}, **kw]) |
