mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge remote-tracking branch 'upstream/master' into mrbgems
This commit is contained in:
+16
-3
@@ -14,7 +14,17 @@ assert('Array.[]', '15.2.12.4.1') do
|
||||
end
|
||||
|
||||
assert('Array#*', '15.2.12.5.1') do
|
||||
[1].*(3) == [1, 1, 1]
|
||||
e2 = nil
|
||||
begin
|
||||
# this will cause an exception due to the wrong argument
|
||||
[1].*(-1)
|
||||
rescue => e1
|
||||
e2 = e1
|
||||
end
|
||||
a = [1].*(3)
|
||||
b = [1].*(0)
|
||||
a == [1, 1, 1] and b == [] and
|
||||
e2.class == ArgumentError
|
||||
end
|
||||
|
||||
assert('Array#+', '15.2.12.5.2') do
|
||||
@@ -256,8 +266,10 @@ end
|
||||
assert('Array#unshift', '15.2.12.5.30') do
|
||||
a = [2,3]
|
||||
b = a.unshift(1)
|
||||
c = [2,3]
|
||||
d = c.unshift(0, 1)
|
||||
|
||||
a == [1,2,3] and b == [1,2,3]
|
||||
a == [1,2,3] and b == [1,2,3] and c == [0,1,2,3] and d == [0,1,2,3]
|
||||
end
|
||||
|
||||
assert('Array#to_s', '15.2.12.5.31') do
|
||||
@@ -279,8 +291,9 @@ end
|
||||
assert('Array#<=>', '15.2.12.5.36') do
|
||||
r1 = [ "a", "a", "c" ] <=> [ "a", "b", "c" ] #=> -1
|
||||
r2 = [ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ] #=> +1
|
||||
r3 = [ "a", "b", "c" ] <=> [ "a", "b", "c" ] #=> 0
|
||||
|
||||
r1 == -1 and r2 == +1
|
||||
r1 == -1 and r2 == +1 and r3 == 0
|
||||
end
|
||||
|
||||
# Not ISO specified
|
||||
|
||||
+19
-1
@@ -30,7 +30,7 @@ end
|
||||
|
||||
assert('Exception#to_s', '15.2.22.5.3') do
|
||||
e = Exception.exception('a')
|
||||
|
||||
|
||||
e.to_s == 'a'
|
||||
end
|
||||
|
||||
@@ -269,6 +269,24 @@ assert('Exception 14') do
|
||||
a == :ok
|
||||
end
|
||||
|
||||
assert('Exception 15') do
|
||||
a = begin
|
||||
:ok
|
||||
rescue
|
||||
:ng
|
||||
end
|
||||
a == :ok
|
||||
end
|
||||
|
||||
assert('Exception 16') do
|
||||
begin
|
||||
raise "foo"
|
||||
false
|
||||
rescue => e
|
||||
e.message == "foo"
|
||||
end
|
||||
end
|
||||
|
||||
assert('Exception#inspect without message') do
|
||||
Exception.new.inspect
|
||||
end
|
||||
|
||||
@@ -204,6 +204,16 @@ assert('Kernel#extend', '15.3.1.3.13') do
|
||||
a.respond_to?(:test_method) == true && b.respond_to?(:test_method) == false
|
||||
end
|
||||
|
||||
assert('Kernel#extend works on toplevel', '15.3.1.3.13') do
|
||||
module Test4ExtendModule
|
||||
def test_method; end
|
||||
end
|
||||
# This would crash...
|
||||
extend(Test4ExtendModule)
|
||||
|
||||
respond_to?(:test_method) == true
|
||||
end
|
||||
|
||||
assert('Kernel#global_variables', '15.3.1.3.14') do
|
||||
global_variables.class == Array
|
||||
end
|
||||
|
||||
@@ -2,7 +2,12 @@
|
||||
# LocalJumpError ISO Test
|
||||
|
||||
assert('LocalJumoError', '15.2.25') do
|
||||
LocalJumpError.class == Class
|
||||
begin
|
||||
# this will cause an exception due to the wrong location
|
||||
retry
|
||||
rescue => e1
|
||||
end
|
||||
LocalJumpError.class == Class and e1.class == LocalJumpError
|
||||
end
|
||||
|
||||
# TODO 15.2.25.2.1 LocalJumpError#exit_value
|
||||
|
||||
@@ -2,13 +2,5 @@
|
||||
# RuntimeError ISO Test
|
||||
|
||||
assert('RuntimeError', '15.2.28') do
|
||||
e2 = nil
|
||||
begin
|
||||
# this will cause an exception due to the wrong location
|
||||
retry
|
||||
rescue => e1
|
||||
e2 = e1
|
||||
end
|
||||
|
||||
RuntimeError.class == Class and e2.class == RuntimeError
|
||||
RuntimeError.class == Class
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user