diff options
Diffstat (limited to 'test/t/argumenterror.rb')
| -rw-r--r-- | test/t/argumenterror.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/t/argumenterror.rb b/test/t/argumenterror.rb index abb53429b..3dcb29a4b 100644 --- a/test/t/argumenterror.rb +++ b/test/t/argumenterror.rb @@ -1,6 +1,13 @@ ## # ArgumentError ISO Test +def assert_argnum_error(given, expected, &block) + assert("wrong number of arguments") do + message = "wrong number of arguments (given #{given}, expected #{expected})" + assert_raise_with_message(ArgumentError, message, &block) + end +end + assert('ArgumentError', '15.2.24') do e2 = nil a = [] @@ -14,3 +21,12 @@ assert('ArgumentError', '15.2.24') do assert_equal(Class, ArgumentError.class) assert_equal(ArgumentError, e2.class) end + +assert("'wrong number of arguments' from mrb_get_args") do + assert_argnum_error(0, "1+"){__send__} + assert_argnum_error(0, 1..2){Object.const_defined?} + assert_argnum_error(3, 1..2){Object.const_defined?(:A, true, 2)} + assert_argnum_error(2, 0..1){{}.default(1, 2)} + assert_argnum_error(1, 2){Object.const_set(:B)} + assert_argnum_error(3, 2){Object.const_set(:C, 1, 2)} +end |
