diff options
Diffstat (limited to 'test/ruby/test_call.rb')
-rw-r--r-- | test/ruby/test_call.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ruby/test_call.rb b/test/ruby/test_call.rb new file mode 100644 index 0000000000..f47164b438 --- /dev/null +++ b/test/ruby/test_call.rb @@ -0,0 +1,32 @@ +require 'test/unit' + +$KCODE = 'none' + +class TestCall < Test::Unit::TestCase + def aaa(a, b=100, *rest) + res = [a, b] + res += rest if rest + return res + end + + def test_call + begin + aaa() # need at least 1 arg + assert(false) + rescue + assert(true) + end + + begin + aaa # no arg given (exception raised) + assert(false) + rescue + assert(true) + end + + assert(aaa(1) == [1, 100]) + assert(aaa(1, 2) == [1, 2]) + assert(aaa(1, 2, 3, 4) == [1, 2, 3, 4]) + assert(aaa(1, *[2, 3, 4]) == [1, 2, 3, 4]) + end +end |