From 58f269d070fb404f7e78ee7153a01462ab87bdb9 Mon Sep 17 00:00:00 2001 From: naruse Date: Sun, 18 Mar 2012 05:26:07 +0000 Subject: merge revision(s) 34433: [Backport #6153] * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string is ascii only string. [ruby-core:42354] [Bug #5968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@35078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_encoding.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb index 6a406ae237..ef2dc39c4d 100644 --- a/test/ruby/test_encoding.rb +++ b/test/ruby/test_encoding.rb @@ -99,4 +99,18 @@ class TestEncoding < Test::Unit::TestCase str2 = Marshal.load(Marshal.dump(str2)) assert_equal(str, str2, '[ruby-dev:38596]') end + + def test_unsafe + bug5279 = '[ruby-dev:44469]' + assert_ruby_status([], '$SAFE=4; "a".encode("utf-16be")', bug5279) + end + + def test_compatible_p + ua = "abc".force_encoding(Encoding::UTF_8) + assert_equal(Encoding::UTF_8, Encoding.compatible?(ua, :abc)) + assert_equal(nil, Encoding.compatible?(ua, 1)) + bin = "a".force_encoding(Encoding::ASCII_8BIT) + asc = "b".force_encoding(Encoding::US_ASCII) + assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc)) + end end -- cgit v1.2.3