diff options
Diffstat (limited to 'test/ruby/test_integer.rb')
| -rw-r--r-- | test/ruby/test_integer.rb | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb index 2755987276..1b485760e3 100644 --- a/test/ruby/test_integer.rb +++ b/test/ruby/test_integer.rb @@ -10,46 +10,7 @@ class TestInteger < Test::Unit::TestCase self.class.bdsize(x) end - FIXNUM_MIN = RbConfig::LIMITS['FIXNUM_MIN'] - FIXNUM_MAX = RbConfig::LIMITS['FIXNUM_MAX'] - def test_aref - - [ - *-16..16, - *(FIXNUM_MIN-2)..(FIXNUM_MIN+2), - *(FIXNUM_MAX-2)..(FIXNUM_MAX+2), - ].each do |n| - (-64..64).each do |idx| - assert_equal((n >> idx) & 1, n[idx]) - end - [*-66..-62, *-34..-30, *-5..5, *30..34, *62..66].each do |idx| - (0..100).each do |len| - assert_equal((n >> idx) & ((1 << len) - 1), n[idx, len], "#{ n }[#{ idx }, #{ len }]") - end - (0..100).each do |len| - assert_equal((n >> idx) & ((1 << (len + 1)) - 1), n[idx..idx+len], "#{ n }[#{ idx }..#{ idx+len }]") - assert_equal((n >> idx) & ((1 << len) - 1), n[idx...idx+len], "#{ n }[#{ idx }...#{ idx+len }]") - end - - # endless - assert_equal((n >> idx), n[idx..], "#{ n }[#{ idx }..]") - assert_equal((n >> idx), n[idx...], "#{ n }[#{ idx }...#]") - - # beginless - if idx >= 0 && n & ((1 << (idx + 1)) - 1) != 0 - assert_raise(ArgumentError, "#{ n }[..#{ idx }]") { n[..idx] } - else - assert_equal(0, n[..idx], "#{ n }[..#{ idx }]") - end - if idx >= 0 && n & ((1 << idx) - 1) != 0 - assert_raise(ArgumentError, "#{ n }[...#{ idx }]") { n[...idx] } - else - assert_equal(0, n[...idx], "#{ n }[...#{ idx }]") - end - end - end - # assert_equal(1, (1 << 0x40000000)[0x40000000], "[ruby-dev:31271]") # assert_equal(0, (-1 << 0x40000001)[0x40000000], "[ruby-dev:31271]") big_zero = 0x40000000.coerce(0)[0] @@ -63,32 +24,6 @@ class TestInteger < Test::Unit::TestCase rescue nil end, "[ruby-dev:32084] [ruby-dev:34547]") - - x = EnvUtil.suppress_warning {2 ** -0x4000000000000000} - assert_in_delta(0.0, (x / 2), Float::EPSILON) - - <<~EXPRS.each_line.with_index(__LINE__+1) do |expr, line| - crash01: 111r+11**-11111161111111 - crash02: 1118111111111**-1111111111111111**1+1==11111 - crash03: -1111111**-1111*11 - -1111111** -111111111 - crash04: 1118111111111** -1111111111111111**1+11111111111**1 ===111 - crash05: 11** -111155555555555555 -55 !=5-555 - crash07: 1 + 111111111**-1111811111 - crash08: 18111111111**-1111111111111111**1 + 1111111111**-1111**1 - crash10: -7 - -1111111** -1111**11 - crash12: 1118111111111** -1111111111111111**1 + 1111 - -1111111** -1111*111111111119 - crash13: 1.0i - -1111111** -111111111 - crash14: 11111**111111111**111111 * -11111111111111111111**-111111111111 - crash15: ~1**1111 + -~1**~1**111 - crash17: 11** -1111111**1111 /11i - crash18: 5555i**-5155 - -9111111**-1111**11 - crash19: 111111*-11111111111111111111**-1111111111111111 - crash20: 1111**111-11**-11111**11 - crash21: 11**-10111111119-1i -1r - EXPRS - name, expr = expr.split(':', 2) - assert_ruby_status(%w"-W0", expr, name) - end end def test_lshift @@ -157,17 +92,6 @@ class TestInteger < Test::Unit::TestCase assert_equal(2 ** 50, Integer(2.0 ** 50)) assert_raise(TypeError) { Integer(nil) } - bug14552 = '[ruby-core:85813]' - obj = Object.new - def obj.to_int; "str"; end - assert_raise(TypeError, bug14552) { Integer(obj) } - def obj.to_i; 42; end - assert_equal(42, Integer(obj), bug14552) - - obj = Object.new - def obj.to_i; "str"; end - assert_raise(TypeError) { Integer(obj) } - bug6192 = '[ruby-core:43566]' assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16be"))} assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16le"))} @@ -192,61 +116,6 @@ class TestInteger < Test::Unit::TestCase end; end - def test_Integer_with_invalid_exception - assert_raise(ArgumentError) { - Integer("0", exception: 1) - } - end - - def test_Integer_with_exception_keyword - assert_nothing_raised(ArgumentError) { - assert_equal(nil, Integer("1z", exception: false)) - } - assert_nothing_raised(ArgumentError) { - assert_equal(nil, Integer(Object.new, exception: false)) - } - assert_nothing_raised(ArgumentError) { - o = Object.new - def o.to_i; 42.5; end - assert_equal(nil, Integer(o, exception: false)) - } - assert_nothing_raised(ArgumentError) { - o = Object.new - def o.to_i; raise; end - assert_equal(nil, Integer(o, exception: false)) - } - assert_nothing_raised(ArgumentError) { - o = Object.new - def o.to_int; raise; end - assert_equal(nil, Integer(o, exception: false)) - } - assert_nothing_raised(FloatDomainError) { - assert_equal(nil, Integer(Float::INFINITY, exception: false)) - } - assert_nothing_raised(FloatDomainError) { - assert_equal(nil, Integer(-Float::INFINITY, exception: false)) - } - assert_nothing_raised(FloatDomainError) { - assert_equal(nil, Integer(Float::NAN, exception: false)) - } - - assert_raise(ArgumentError) { - Integer("1z", exception: true) - } - assert_raise(TypeError) { - Integer(nil, exception: true) - } - assert_nothing_raised(TypeError) { - assert_equal(nil, Integer(nil, exception: false)) - } - - assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") - begin; - class Integer;def method_missing(*);"";end;end - assert_equal(0, Integer("0", 2)) - end; - end - def test_int_p assert_not_predicate(1.0, :integer?) assert_predicate(1, :integer?) @@ -260,7 +129,6 @@ class TestInteger < Test::Unit::TestCase assert_equal("a", "a".ord.chr) assert_raise(RangeError) { (-1).chr } assert_raise(RangeError) { 0x100.chr } - assert_raise_with_message(RangeError, "3000000000 out of char range") { 3_000_000_000.chr } end def test_upto @@ -641,9 +509,6 @@ class TestInteger < Test::Unit::TestCase failures << n unless root*root <= n && (root+1)*(root+1) > n end assert_empty(failures, bug13440) - - x = 0xffff_ffff_ffff_ffff - assert_equal(x, Integer.sqrt(x ** 2), "[ruby-core:95453]") end def test_fdiv |
