1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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>
* 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, 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 'wrong number of arguments (1 for 0)', %q{
assert_match /\Awrong number of arguments \(.*\b1\b.* 0\)\z/, %q{
def m; end
begin
m(1)
@ -12,7 +12,7 @@ assert_equal 'wrong number of arguments (1 for 0)', %q{
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
begin
m

View file

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