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:
parent
927e18b370
commit
e0ed0012cb
3 changed files with 31 additions and 24 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue