summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/t/syntax.rb39
1 files changed, 10 insertions, 29 deletions
diff --git a/test/t/syntax.rb b/test/t/syntax.rb
index 515c8f361..a89432b68 100644
--- a/test/t/syntax.rb
+++ b/test/t/syntax.rb
@@ -552,8 +552,7 @@ assert 'keyword arguments' do
assert_raise(ArgumentError) { m }
assert_raise(ArgumentError) { m 'a' => 1, a: 1 }
h = { a: 1 }
- assert_equal 1, m(h)
- assert_equal({ a: 1 }, h)
+ assert_equal 1, m(**h)
def m(a: 1) a end
assert_equal 1, m
@@ -568,23 +567,23 @@ assert 'keyword arguments' do
def m(a, **) a end
assert_equal 1, m(1)
assert_equal 1, m(1, a: 2, b: 3)
- assert_equal({ 'a' => 1, b: 2 }, m('a' => 1, b: 2))
+ assert_raise(ArgumentError) { m('a' => 1, b: 2) }
def m(a, **k) [a, k] end
assert_equal [1, {}], m(1)
assert_equal [1, {a: 2, b: 3}], m(1, a: 2, b: 3)
- assert_equal [{'a' => 1, b: 2}, {}], m('a' => 1, b: 2)
+ assert_raise(ArgumentError) { m('a' => 1, b: 2) }
def m(a=1, **) a end
assert_equal 1, m
assert_equal 2, m(2, a: 1, b: 0)
- assert_raise(ArgumentError) { m('a' => 1, a: 2) }
def m(a=1, **k) [a, k] end
assert_equal [1, {}], m
assert_equal [1, {a: 1}], m(a: 1)
assert_equal [2, {a: 1, b: 2}], m(2, a: 1, b: 2)
- assert_equal [{a: 1}, {b: 2}], m({a: 1}, {b: 2})
+ assert_equal [{a: 1}, {b: 2}], m({a: 1}, b: 2)
+ assert_raise(ArgumentError) { m({a: 1}, {b: 2}) }
def m(*, a:) a end
assert_equal 1, m(a: 1)
@@ -609,34 +608,27 @@ assert 'keyword arguments' do
def m(*a, **) a end
assert_equal [], m()
assert_equal [1, 2, 3], m(1, 2, 3, a: 4, b: 5)
- assert_raise(ArgumentError) { m("a" => 1, a: 1) }
assert_equal [1], m(1, **{a: 2})
def m(*, **k) k end
assert_equal({}, m())
assert_equal({a: 4, b: 5}, m(1, 2, 3, a: 4, b: 5))
- assert_raise(ArgumentError) { m("a" => 1, a: 1) }
def m(a = nil, b = nil, **k) [a, k] end
assert_equal [nil, {}], m()
assert_equal([nil, {a: 1}], m(a: 1))
- assert_raise(ArgumentError) { m("a" => 1, a: 1) }
assert_equal([{"a" => 1}, {a: 1}], m({ "a" => 1 }, a: 1))
assert_equal([{a: 1}, {}], m({a: 1}, {}))
- assert_equal([nil, {}], m({}))
+ assert_equal([{}, {}], m({}))
def m(*a, **k) [a, k] end
assert_equal([[], {}], m())
assert_equal([[1], {}], m(1))
assert_equal([[], {a: 1, b: 2}], m(a: 1, b: 2))
assert_equal([[1, 2, 3], {a: 2}], m(1, 2, 3, a: 2))
- assert_raise(ArgumentError) { m("a" => 1, a: 1) }
- assert_raise(ArgumentError) { m("a" => 1) }
assert_equal([[], {a: 1}], m(a: 1))
- assert_raise(ArgumentError) { m("a" => 1, a: 1) }
assert_equal([[{"a" => 1}], {a: 1}], m({ "a" => 1 }, a: 1))
- assert_equal([[{a: 1}], {}], m({a: 1}, {}))
- assert_raise(ArgumentError) { m({a: 1}, {"a" => 1}) }
+ assert_equal([[{a: 1}, {}], {}], m({a: 1}, {}))
def m(a:, b:) [a, b] end
assert_equal([1, 2], m(a: 1, b: 2))
@@ -645,23 +637,21 @@ assert 'keyword arguments' do
def m(a:, b: 1) [a, b] end
assert_equal([1, 1], m(a: 1))
assert_equal([1, 2], m(a: 1, b: 2))
+ assert_raise(ArgumentError) { m(b: 1) }
assert_raise(ArgumentError) { m("a" => 1, a: 1, b: 2) }
def m(a:, **) a end
assert_equal(1, m(a: 1))
assert_equal(1, m(a: 1, b: 2))
- assert_raise(ArgumentError) { m("a" => 1, a: 1, b: 2) }
def m(a:, **k) [a, k] end
assert_equal([1, {}], m(a: 1))
assert_equal([1, {b: 2, c: 3}], m(a: 1, b: 2, c: 3))
- assert_raise(ArgumentError) { m("a" => 1, a: 1, b: 2) }
-=begin
def m(a:, &b) [a, b] end
assert_equal([1, nil], m(a: 1))
- assert_equal([1, l], m(a: 1, &(l = ->{})))
-=end
+ result = m(a: 1, &(l = ->{}))
+ assert_equal([1, l], result)
def m(a: 1, b:) [a, b] end
assert_equal([1, 0], m(b: 0))
@@ -699,21 +689,12 @@ assert 'keyword arguments' do
assert_equal([{ a: 1, b: 2}, nil], m(a: 1, b: 2))
assert_equal :blk, m{ :blk }[1].call
- def m(hsh = {}) hsh end
- assert_equal({ a: 1, b: 2 }, m(a: 1, b: 2))
- assert_equal({ a: 1, 'b' => 2 }, m(a: 1, 'b' => 2))
-
- def m(hsh) hsh end
- assert_equal({ a: 1, b: 2 }, m(a: 1, b: 2))
- assert_equal({ a: 1, 'b' => 2 }, m(a: 1, 'b' => 2))
-
=begin
def m(a, b=1, *c, (*d, (e)), f: 2, g:, h:, **k, &l)
[a, b, c, d, e, f, g, h, k, l]
end
result = m(9, 8, 7, 6, f: 5, g: 4, h: 3, &(l = ->{}))
assert_equal([9, 8, [7], [], 6, 5, 4, 3, {}, l], result)
-
def m a, b=1, *c, d, e:, f: 2, g:, **k, &l
[a, b, c, d, e, f, g, k, l]
end