[前][次][番号順一覧][スレッド一覧]

ruby-changes:50742

From: nobu <ko1@a...>
Date: Sun, 25 Mar 2018 23:06:13 +0900 (JST)
Subject: [ruby-changes:50742] nobu:r62919 (trunk): assertions for r62914

nobu	2018-03-25 23:06:06 +0900 (Sun, 25 Mar 2018)

  New Revision: 62919

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=62919

  Log:
    assertions for r62914
    
    * test/ruby/test_keyword.rb (test_splat_hash): assertion on
      mandatory and rest arguments.  r62914 is not only for optional
      argument.

  Modified files:
    trunk/test/ruby/test_keyword.rb
Index: test/ruby/test_keyword.rb
===================================================================
--- test/ruby/test_keyword.rb	(revision 62918)
+++ test/ruby/test_keyword.rb	(revision 62919)
@@ -506,8 +506,10 @@ class TestKeywordArguments < Test::Unit: https://github.com/ruby/ruby/blob/trunk/test/ruby/test_keyword.rb#L506
   def test_splat_hash
     m = Object.new
     def m.f() :ok; end
+    def m.f1(a) a; end
     def m.f2(a = nil) a; end
     def m.f3(**a) a; end
+    def m.f4(*a) a; end
     o = {a: 1}
     assert_raise_with_message(ArgumentError, /unknown keyword: a/) {
       m.f(**o)
@@ -518,11 +520,17 @@ class TestKeywordArguments < Test::Unit: https://github.com/ruby/ruby/blob/trunk/test/ruby/test_keyword.rb#L520
     assert_equal(:ok, m.f(*a, **o), '[ruby-core:83638] [Bug #10856]')
 
     o = {a: 42}
+    assert_warning(/splat keyword/, 'splat to mandatory') do
+      assert_equal({a: 42}, m.f1(**o))
+    end
     assert_warning(/splat keyword/) do
       assert_equal({a: 42}, m.f2(**o), '[ruby-core:82280] [Bug #13791]')
     end
-    assert_warning('') do
-      assert_equal({a: 42}, m.f3(**o), 'splat to kwrest')
+    assert_warning('', 'splat to kwrest') do
+      assert_equal({a: 42}, m.f3(**o))
+    end
+    assert_warning('', 'splat to rest') do
+      assert_equal([{a: 42}], m.f4(**o))
     end
 
     assert_warning('') do

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]