relax error message format

* bootstraptest/test_method.rb: relax error message format.
* test/ruby/test_arity.rb (err_mess): ditto.
  [Feature #9025], [ruby-core:71178] [Bug #11617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-10-24 06:42:22 +00:00
parent 927e18b370
commit e0ed0012cb
3 changed files with 31 additions and 24 deletions

View File

@ -1,3 +1,10 @@
Sat Oct 24 15:42:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bootstraptest/test_method.rb: relax error message format.
* test/ruby/test_arity.rb (err_mess): ditto.
[Feature #9025], [ruby-core:71178] [Bug #11617]
Sat Oct 24 12:47:47 2015 Martin Duerst <duerst@it.aoyama.ac.jp> Sat Oct 24 12:47:47 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
* vm_insnhelper.c: improved error message for "wrong number * vm_insnhelper.c: improved error message for "wrong number

View File

@ -3,7 +3,7 @@ assert_equal '1', 'def m() 1 end; m()'
assert_equal '1', 'def m(a) a end; m(1)' assert_equal '1', 'def m(a) a end; m(1)'
assert_equal '[1, 2]', 'def m(a,b) [a, b] end; m(1,2)' assert_equal '[1, 2]', 'def m(a,b) [a, b] end; m(1,2)'
assert_equal '[1, 2, 3]', 'def m(a,b,c) [a, b, c] end; m(1,2,3)' assert_equal '[1, 2, 3]', 'def m(a,b,c) [a, b, c] end; m(1,2,3)'
assert_equal 'wrong number of arguments (1 for 0)', %q{ assert_match /\Awrong number of arguments \(.*\b1\b.* 0\)\z/, %q{
def m; end def m; end
begin begin
m(1) m(1)
@ -12,7 +12,7 @@ assert_equal 'wrong number of arguments (1 for 0)', %q{
end end
} }
assert_equal 'wrong number of arguments (0 for 1)', %q{ assert_match /\Awrong number of arguments \(.*\b0\b.* 1\)\z/, %q{
def m a; end def m a; end
begin begin
m m

View File

@ -3,7 +3,7 @@ require 'test/unit'
class TestArity < Test::Unit::TestCase class TestArity < Test::Unit::TestCase
def err_mess(method_proc = nil, argc = 0) def err_mess(method_proc = nil, argc = 0)
args = (1..argc).to_a args = (1..argc).to_a
assert_raise_with_message(ArgumentError, /wrong number of arguments \((.*)\)/) do assert_raise_with_message(ArgumentError, /wrong number of arguments \(.*\b(\d+)\b.* (\d\S*?)\)/) do
case method_proc case method_proc
when nil when nil
yield yield
@ -13,7 +13,7 @@ class TestArity < Test::Unit::TestCase
method_proc.call(*args) method_proc.call(*args)
end end
end end
$1 [$1, $2]
end end
def a def a
@ -35,22 +35,22 @@ class TestArity < Test::Unit::TestCase
end end
def test_method_err_mess def test_method_err_mess
assert_equal "1 for 0", err_mess(:a, 1) assert_equal %w[1 0], err_mess(:a, 1)
assert_equal "10 for 7..9", err_mess(:b, 10) assert_equal %w[10 7..9], err_mess(:b, 10)
assert_equal "2 for 3+", err_mess(:c, 2) assert_equal %w[2 3+], err_mess(:c, 2)
assert_equal "2 for 1", err_mess(:d, 2) assert_equal %w[2 1], err_mess(:d, 2)
assert_equal "0 for 1", err_mess(:d, 0) assert_equal %w[0 1], err_mess(:d, 0)
assert_equal "2 for 1", err_mess(:e, 2) assert_equal %w[2 1], err_mess(:e, 2)
assert_equal "0 for 1", err_mess(:e, 0) assert_equal %w[0 1], err_mess(:e, 0)
assert_equal "1 for 2+", err_mess(:f, 1) assert_equal %w[1 2+], err_mess(:f, 1)
end end
def test_proc_err_mess def test_proc_err_mess
assert_equal "0 for 1..2", err_mess(->(b, c=42){}, 0) assert_equal %w[0 1..2], err_mess(->(b, c=42){}, 0)
assert_equal "1 for 2+", err_mess(->(a, b, c=42, *d){}, 1) assert_equal %w[1 2+], err_mess(->(a, b, c=42, *d){}, 1)
assert_equal "3 for 4+", err_mess(->(a, b, *c, d, e){}, 3) assert_equal %w[3 4+], err_mess(->(a, b, *c, d, e){}, 3)
assert_equal "3 for 1..2", err_mess(->(b, c=42){}, 3) assert_equal %w[3 1..2], err_mess(->(b, c=42){}, 3)
assert_equal "1 for 0", err_mess(->(&block){}, 1) assert_equal %w[1 0], err_mess(->(&block){}, 1)
# Double checking: # Double checking:
p = Proc.new{|b, c=42| :ok} p = Proc.new{|b, c=42| :ok}
assert_equal :ok, p.call(1, 2, 3) assert_equal :ok, p.call(1, 2, 3)
@ -58,12 +58,12 @@ class TestArity < Test::Unit::TestCase
end end
def test_message_change_issue_6085 def test_message_change_issue_6085
assert_equal "3 for 1..2", err_mess{ SignalException.new(1, "", nil) } assert_equal %w[3 1..2], err_mess{ SignalException.new(1, "", nil) }
assert_equal "1 for 0", err_mess{ Hash.new(1){} } assert_equal %w[1 0], err_mess{ Hash.new(1){} }
assert_equal "3 for 1..2", err_mess{ Module.send :define_method, 1, 2, 3 } assert_equal %w[3 1..2], err_mess{ Module.send :define_method, 1, 2, 3 }
assert_equal "1 for 2", err_mess{ "".sub!(//) } assert_equal %w[1 2], err_mess{ "".sub!(//) }
assert_equal "0 for 1..2", err_mess{ "".sub!{} } assert_equal %w[0 1..2], err_mess{ "".sub!{} }
assert_equal "0 for 1+", err_mess{ exec } assert_equal %w[0 1+], err_mess{ exec }
assert_equal "0 for 1+", err_mess{ Struct.new } assert_equal %w[0 1+], err_mess{ Struct.new }
end end
end end