diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/t/argumenterror.rb | 12 | ||||
| -rw-r--r-- | test/t/array.rb | 42 | ||||
| -rw-r--r-- | test/t/bs_block.rb | 1 | ||||
| -rw-r--r-- | test/t/bs_literal.rb | 1 | ||||
| -rw-r--r-- | test/t/enumerable.rb | 29 | ||||
| -rw-r--r-- | test/t/false.rb | 1 | ||||
| -rw-r--r-- | test/t/float.rb | 1 | ||||
| -rw-r--r-- | test/t/hash.rb | 1 | ||||
| -rw-r--r-- | test/t/indexerror.rb | 1 | ||||
| -rw-r--r-- | test/t/integer.rb | 1 | ||||
| -rw-r--r-- | test/t/kernel.rb | 1 | ||||
| -rw-r--r-- | test/t/literals.rb | 49 | ||||
| -rw-r--r-- | test/t/localjumperror.rb | 1 | ||||
| -rw-r--r-- | test/t/module.rb | 1 | ||||
| -rw-r--r-- | test/t/nameerror.rb | 1 | ||||
| -rw-r--r-- | test/t/nil.rb | 1 | ||||
| -rw-r--r-- | test/t/nomethoderror.rb | 1 | ||||
| -rw-r--r-- | test/t/numeric.rb | 1 | ||||
| -rw-r--r-- | test/t/object.rb | 1 | ||||
| -rw-r--r-- | test/t/proc.rb | 1 | ||||
| -rw-r--r-- | test/t/range.rb | 1 | ||||
| -rw-r--r-- | test/t/rangeerror.rb | 1 | ||||
| -rw-r--r-- | test/t/regexperror.rb | 1 | ||||
| -rw-r--r-- | test/t/runtimeerror.rb | 1 | ||||
| -rw-r--r-- | test/t/standarderror.rb | 1 | ||||
| -rw-r--r-- | test/t/string.rb | 1 | ||||
| -rw-r--r-- | test/t/struct.rb | 1 | ||||
| -rw-r--r-- | test/t/symbol.rb | 1 | ||||
| -rw-r--r-- | test/t/time.rb | 1 | ||||
| -rw-r--r-- | test/t/true.rb | 1 | ||||
| -rw-r--r-- | test/t/typeerror.rb | 1 |
31 files changed, 126 insertions, 33 deletions
diff --git a/test/t/argumenterror.rb b/test/t/argumenterror.rb index be1dec974..ca998f8de 100644 --- a/test/t/argumenterror.rb +++ b/test/t/argumenterror.rb @@ -2,6 +2,14 @@ # ArgumentError ISO Test assert('ArgumentError', '15.2.24') do - ArgumentError.class == Class -end + e2 = nil + a = [] + begin + # this will cause an exception due to the wrong arguments + a[] + rescue => e1 + e2 = e1 + end + ArgumentError.class == Class and e2.class == ArgumentError +end diff --git a/test/t/array.rb b/test/t/array.rb index 3b9dfedfb..dba1b035d 100644 --- a/test/t/array.rb +++ b/test/t/array.rb @@ -22,11 +22,47 @@ assert('Array#<<', '15.2.12.5.3') do end assert('Array#[]', '15.2.12.5.4') do - [1,2,3].[](1) == 2 + e2 = nil + e3 = nil + a = Array.new + begin + # this will cause an exception due to the wrong arguments + a.[]() + rescue => e1 + e2 = e1 + end + begin + # this will cause an exception due to the wrong arguments + a.[](1,2,3) + rescue => e1 + e3 = e1 + end + + [1,2,3].[](1) == 2 and + e2.class == ArgumentError and + e3.class == ArgumentError end assert('Array#[]=', '15.2.12.5.5') do - [1,2,3].[]=(1,4) == [1, 4, 3] + e2 = nil + e3 = nil + a = Array.new + begin + # this will cause an exception due to the wrong arguments + a.[]=() + rescue => e1 + e2 = e1 + end + begin + # this will cause an exception due to the wrong arguments + a.[]=(1,2,3,4) + rescue => e1 + e3 = e1 + end + + [1,2,3].[]=(1,4) == [1, 4, 3] and + e2.class == ArgumentError and + e3.class == ArgumentError end assert('Array#clear', '15.2.12.5.6') do @@ -193,5 +229,3 @@ assert('Array#unshift', '15.2.12.5.30') do end # Not ISO specified - - diff --git a/test/t/bs_block.rb b/test/t/bs_block.rb index acbade449..b290cb914 100644 --- a/test/t/bs_block.rb +++ b/test/t/bs_block.rb @@ -388,4 +388,3 @@ assert('BS Block [ruby-core:14395]') do t = Controller.new t.test_for_bug end - diff --git a/test/t/bs_literal.rb b/test/t/bs_literal.rb index b1ae3a5d6..842d8704c 100644 --- a/test/t/bs_literal.rb +++ b/test/t/bs_literal.rb @@ -36,4 +36,3 @@ end assert('BS Literal 9') do Fixnum == 1234.class end - diff --git a/test/t/enumerable.rb b/test/t/enumerable.rb index 909531045..de0bb5a34 100644 --- a/test/t/enumerable.rb +++ b/test/t/enumerable.rb @@ -72,3 +72,32 @@ assert('Enumerable#min', '15.3.2.2.14') do a.min {|i1,i2| i1.length <=> i2.length} == 'c' end +assert('Enumerable#member?', '15.3.2.2.15') do + [1,2,3,4,5,6,7,8,9].member?(5) and + not [1,2,3,4,5,6,7,8,9].member?(0) +end + +assert('Enumerable#partion', '15.3.2.2.16') do + [0,1,2,3,4,5,6,7,8,9].partition do |i| + i % 2 == 0 + end == [[0,2,4,6,8], [1,3,5,7,9]] +end + +assert('Enumerable#reject', '15.3.2.2.17') do + [0,1,2,3,4,5,6,7,8,9].reject do |i| + i % 2 == 0 + end == [1,3,5,7,9] +end + +assert('Enumerable#select', '15.3.2.2.18') do + [1,2,3,4,5,6,7,8,9].select() {|i| i%2 == 0} == [2,4,6,8] +end + +assert('Enumerable#sort', '15.3.2.2.19') do + [7,3,1,2,6,4].sort == [1,2,3,4,6,7] and + [7,3,1,2,6,4].sort {|e1,e2| e2<=>e1} == [7,6,4,3,2,1] +end + +assert('Enumerable#to_a', '15.3.2.2.20') do + [1].to_a == [1] +end diff --git a/test/t/false.rb b/test/t/false.rb index 3fd885a7f..c2db283c8 100644 --- a/test/t/false.rb +++ b/test/t/false.rb @@ -24,4 +24,3 @@ end assert('FalseClass#|', '15.2.6.3.4') do FalseClass.new.|(true) and not FalseClass.new.|(false) end - diff --git a/test/t/float.rb b/test/t/float.rb index fd87bb04f..fc87a5b22 100644 --- a/test/t/float.rb +++ b/test/t/float.rb @@ -99,4 +99,3 @@ end assert('Float#truncate', '15.2.9.3.15') do 3.123456789.truncate == 3 end - diff --git a/test/t/hash.rb b/test/t/hash.rb index bb2ef1209..af662688a 100644 --- a/test/t/hash.rb +++ b/test/t/hash.rb @@ -224,4 +224,3 @@ assert('Hash#values', '15.2.13.4.28') do a.values == ['abc_value'] end - diff --git a/test/t/indexerror.rb b/test/t/indexerror.rb index dcf9d283b..d0cb81f32 100644 --- a/test/t/indexerror.rb +++ b/test/t/indexerror.rb @@ -4,4 +4,3 @@ assert('IndexError', '15.2.33') do IndexError.class == Class end - diff --git a/test/t/integer.rb b/test/t/integer.rb index 5e73b41b5..8c112861a 100644 --- a/test/t/integer.rb +++ b/test/t/integer.rb @@ -168,4 +168,3 @@ assert('Integer#upto', '15.2.8.3.27') do end a == 6 end - diff --git a/test/t/kernel.rb b/test/t/kernel.rb index eda07074b..cd1f2d99e 100644 --- a/test/t/kernel.rb +++ b/test/t/kernel.rb @@ -122,4 +122,3 @@ assert('Kernel#to_s', '15.3.1.2.46') do # TODO looks strange.. to_s == '' end - diff --git a/test/t/literals.rb b/test/t/literals.rb new file mode 100644 index 000000000..92f9bd755 --- /dev/null +++ b/test/t/literals.rb @@ -0,0 +1,49 @@ +## +# Literals ISO Test + +assert('Literals Numerical', '8.7.6.2') do + # signed and unsigned integer + 1 == 1 and -1 == -1 and +1 == +1 and + # signed and unsigned float + 1.0 == 1.0 and -1.0 == -1.0 and + # binary + 0b10000000 == 128 and 0B10000000 == 128 + # octal + 0o10 == 8 and 0O10 == 8 and 0_10 == 8 + # hex + 0xff == 255 and 0Xff == 255 and + # decimal + 0d999 == 999 and 0D999 == 999 and + # decimal seperator + 10_000_000 == 10000000 and 1_0 == 10 and + # integer with exponent + 1e1 == 10.0 and 1e-1 == 0.1 and 1e+1 == 10.0 + # float with exponent + 1.0e1 == 10.0 and 1.0e-1 == 0.1 and 1.0e+1 == 10.0 +end + +#assert('Literals Strings Single Quoted', '8.7.6.3.2') do +# creates segmentation fault for now +# 'abc' == 'abc' and '\'' == '\'' and '\\' == '\\' +#end + +assert('Literals Strings Double Quoted', '8.7.6.3.3') do + a = "abc" + + "abc" == "abc" and "\"" == "\"" and "\\" == "\\" and + "#{a}" == "abc" +end + +#creates segmentation fault for now +#assert('Literals Strings Quoted Non-Expanded', '8.7.6.3.4') do +# a = %q{abc} +# b = %q(abc) +# c = %q[abc] +# d = %q<abc> +# e = %/abc/ +# f = %/ab\/c/ + +# a == 'abc' and b == 'abc' and c == 'abc' and d == 'abc' and +# e == 'abc' and f 'ab/c' +#end + diff --git a/test/t/localjumperror.rb b/test/t/localjumperror.rb index 132acd81e..9d1df9594 100644 --- a/test/t/localjumperror.rb +++ b/test/t/localjumperror.rb @@ -7,4 +7,3 @@ end # TODO 15.2.25.2.1 LocalJumpError#exit_value # TODO 15.2.25.2.2 LocalJumpError#reason - diff --git a/test/t/module.rb b/test/t/module.rb index f9efa553a..854be75a5 100644 --- a/test/t/module.rb +++ b/test/t/module.rb @@ -8,4 +8,3 @@ end # TODO not implemented ATM assert('Module.constants', '15.2.2') do # TODO not implemented ATM assert('Module.nesting', '15.2.2') do - diff --git a/test/t/nameerror.rb b/test/t/nameerror.rb index 23158fce2..67451ecf8 100644 --- a/test/t/nameerror.rb +++ b/test/t/nameerror.rb @@ -12,4 +12,3 @@ assert('NameError#initialize', '15.2.31.2.2') do e.class == NameError and e.message == 'a' end - diff --git a/test/t/nil.rb b/test/t/nil.rb index 9a4855a62..3188a9516 100644 --- a/test/t/nil.rb +++ b/test/t/nil.rb @@ -24,4 +24,3 @@ end assert('NilClass#to_s', '15.2.4.3.5') do NilClass.new.to_s == '' end - diff --git a/test/t/nomethoderror.rb b/test/t/nomethoderror.rb index 4c4fb3fdf..9eb122158 100644 --- a/test/t/nomethoderror.rb +++ b/test/t/nomethoderror.rb @@ -11,4 +11,3 @@ assert('NoMethodError', '15.2.32') do NoMethodError.class == Class and e2.class == NoMethodError end - diff --git a/test/t/numeric.rb b/test/t/numeric.rb index 40b5845c0..924889a0e 100644 --- a/test/t/numeric.rb +++ b/test/t/numeric.rb @@ -22,4 +22,3 @@ end assert('Numeric#**') do 2.0**3 == 8.0 end - diff --git a/test/t/object.rb b/test/t/object.rb index 8d9938a48..96929031b 100644 --- a/test/t/object.rb +++ b/test/t/object.rb @@ -4,4 +4,3 @@ assert('Object', '15.2.1') do Object.class == Class end - diff --git a/test/t/proc.rb b/test/t/proc.rb index 68d8ca8f6..6d98cb40c 100644 --- a/test/t/proc.rb +++ b/test/t/proc.rb @@ -42,4 +42,3 @@ assert('Proc#call', '15.2.17.4.3') do a == 1 and a2 == 5 end - diff --git a/test/t/range.rb b/test/t/range.rb index 42677e72e..05bac8779 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -62,4 +62,3 @@ assert('Range#member?', '15.2.14.4.11') do a.member?(5) and not a.member?(20) end - diff --git a/test/t/rangeerror.rb b/test/t/rangeerror.rb index da8e9bf88..7edb5d2d9 100644 --- a/test/t/rangeerror.rb +++ b/test/t/rangeerror.rb @@ -4,4 +4,3 @@ assert('RangeError', '15.2.26') do RangeError.class == Class end - diff --git a/test/t/regexperror.rb b/test/t/regexperror.rb index 2ce2edd7f..b8f8c2c1f 100644 --- a/test/t/regexperror.rb +++ b/test/t/regexperror.rb @@ -2,4 +2,3 @@ # RegexpError ISO Test # TODO broken ATM assert('RegexpError', '15.2.27') do - diff --git a/test/t/runtimeerror.rb b/test/t/runtimeerror.rb index b410dd64f..9157293cd 100644 --- a/test/t/runtimeerror.rb +++ b/test/t/runtimeerror.rb @@ -12,4 +12,3 @@ assert('RuntimeError', '15.2.28') do RuntimeError.class == Class and e2.class == RuntimeError end - diff --git a/test/t/standarderror.rb b/test/t/standarderror.rb index f6c63ac12..550c337c1 100644 --- a/test/t/standarderror.rb +++ b/test/t/standarderror.rb @@ -4,4 +4,3 @@ assert('StandardError', '15.2.23') do StandardError.class == Class end - diff --git a/test/t/string.rb b/test/t/string.rb index 7fd48761c..76df18aaf 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -319,4 +319,3 @@ assert('String#upcase!', '15.2.10.5.43') do a == 'ABC' end - diff --git a/test/t/struct.rb b/test/t/struct.rb index 04279d532..c41319f8a 100644 --- a/test/t/struct.rb +++ b/test/t/struct.rb @@ -4,4 +4,3 @@ assert('Struct', '15.2.18') do Struct.class == Class end - diff --git a/test/t/symbol.rb b/test/t/symbol.rb index 325c8d990..e9c310971 100644 --- a/test/t/symbol.rb +++ b/test/t/symbol.rb @@ -20,4 +20,3 @@ end assert('Symbol#to_sym', '15.2.11.3.4') do :abc.to_sym == :abc end - diff --git a/test/t/time.rb b/test/t/time.rb index 9ad0e4aff..22fc2e7c3 100644 --- a/test/t/time.rb +++ b/test/t/time.rb @@ -71,4 +71,3 @@ end assert('Time#new') do Time.new.class == Time end - diff --git a/test/t/true.rb b/test/t/true.rb index af4caeeec..bb648a7cd 100644 --- a/test/t/true.rb +++ b/test/t/true.rb @@ -24,4 +24,3 @@ end assert('TrueClass#|', '15.2.5.3.4') do TrueClass.new.|(true) and TrueClass.new.|(false) end - diff --git a/test/t/typeerror.rb b/test/t/typeerror.rb index 12cf64e70..c4434aa24 100644 --- a/test/t/typeerror.rb +++ b/test/t/typeerror.rb @@ -4,4 +4,3 @@ assert('TypeError', '15.2.29') do TypeError.class == Class end - |
