From 163ab0a4da61699c84bba46cd9d7bdd6c67ba1e5 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 23 Mar 2012 04:19:24 +0000 Subject: * bignum.c (rb_str_to_inum): must be ASCII compatible encoding as well as String#hex and String#oct. [ruby-core:43566][Bug #6192] * string.c (rb_must_asciicompat): check if ASCII compatible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_integer.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/ruby/test_integer.rb') diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb index 7f8212ebf0..3f4add7f15 100644 --- a/test/ruby/test_integer.rb +++ b/test/ruby/test_integer.rb @@ -90,6 +90,13 @@ class TestInteger < Test::Unit::TestCase assert_equal(2 ** 50, Integer(2.0 ** 50)) assert_raise(TypeError) { Integer(nil) } + + bug6192 = '[ruby-core:43566]' + assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16be"))} + assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16le"))} + assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-32be"))} + assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-32le"))} + assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("iso-2022-jp"))} end def test_int_p -- cgit v1.2.3