mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
split UTF-16 tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5628d949f9
commit
f2d84ac87b
2 changed files with 68 additions and 42 deletions
|
@ -291,42 +291,6 @@ class TestM17N < Test::Unit::TestCase
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_utf16_valid_encoding
|
|
||||||
s = "\xd8\x00\xd8\x00".force_encoding("utf-16be")
|
|
||||||
assert_equal(false, s.valid_encoding?, "#{encdump s}.valid_encoding?")
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_utf16
|
|
||||||
s = "aa".force_encoding("utf-16be")
|
|
||||||
assert_raise(ArgumentError, "Time.now.strftime(#{encdump s})") { Time.now.strftime(s) }
|
|
||||||
|
|
||||||
s = "aaaa".force_encoding("utf-16be")
|
|
||||||
assert_equal(s.encoding, s.intern.to_s.encoding, "#{encdump s}.intern.to_s.encoding")
|
|
||||||
|
|
||||||
s1 = "aa".force_encoding("utf-16be")
|
|
||||||
s2 = "z".force_encoding("us-ascii")
|
|
||||||
assert_nil(Encoding.compatible?(s1, s2), "Encoding.compatible?(#{encdump s1}, #{encdump s2})")
|
|
||||||
|
|
||||||
s1 = "ab".force_encoding("utf-16be")
|
|
||||||
s2 = "b".force_encoding("utf-16be")
|
|
||||||
assert_equal(false, s1.end_with?(s2), "#{encdump s1}.end_with?(#{encdump s2})")
|
|
||||||
|
|
||||||
s1 = "f\0f\0".force_encoding("utf-16le")
|
|
||||||
assert_equal(255, s1.hex, "#{encdump s1}.hex")
|
|
||||||
|
|
||||||
s1 = "aa".force_encoding("utf-16be")
|
|
||||||
s2 = "aa"
|
|
||||||
assert_raise(ArgumentError, "#{encdump s1}.count(#{encdump s2})") {
|
|
||||||
s1.count(s2)
|
|
||||||
}
|
|
||||||
|
|
||||||
s1 = "a".force_encoding("us-ascii")
|
|
||||||
s2 = "aa".force_encoding("utf-16be")
|
|
||||||
assert_raise(ArgumentError, "#{encdump s1} + #{encdump s2}") {
|
|
||||||
s1 + s2
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_regexp_too_short_multibyte_character
|
def test_regexp_too_short_multibyte_character
|
||||||
assert_raise(SyntaxError) { eval('/\xfe/e') }
|
assert_raise(SyntaxError) { eval('/\xfe/e') }
|
||||||
assert_raise(SyntaxError) { eval('/\x8e/e') }
|
assert_raise(SyntaxError) { eval('/\x8e/e') }
|
||||||
|
@ -998,10 +962,4 @@ class TestM17N < Test::Unit::TestCase
|
||||||
assert_equal(Encoding::ASCII_8BIT, v.encoding)
|
assert_equal(Encoding::ASCII_8BIT, v.encoding)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_encoding_find
|
|
||||||
assert_raise(ArgumentError) {
|
|
||||||
Encoding.find("utf-8".force_encoding("utf-16be"))
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
68
test/ruby/test_utf16.rb
Normal file
68
test/ruby/test_utf16.rb
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
require 'test/unit'
|
||||||
|
|
||||||
|
class TestM17N < Test::Unit::TestCase
|
||||||
|
def encdump(str)
|
||||||
|
d = str.dump
|
||||||
|
if /\.force_encoding\("[A-Za-z0-9.:_+-]*"\)\z/ =~ d
|
||||||
|
d
|
||||||
|
else
|
||||||
|
"#{d}.force_encoding(#{str.encoding.name.dump})"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# tests start
|
||||||
|
|
||||||
|
def test_utf16be_valid_encoding
|
||||||
|
s = "\xd8\x00\xd8\x00".force_encoding("utf-16be")
|
||||||
|
assert_equal(false, s.valid_encoding?, "#{encdump s}.valid_encoding?")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_strftime
|
||||||
|
s = "aa".force_encoding("utf-16be")
|
||||||
|
assert_raise(ArgumentError, "Time.now.strftime(#{encdump s})") { Time.now.strftime(s) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_intern
|
||||||
|
s = "aaaa".force_encoding("utf-16be")
|
||||||
|
assert_equal(s.encoding, s.intern.to_s.encoding, "#{encdump s}.intern.to_s.encoding")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_compatible
|
||||||
|
s1 = "aa".force_encoding("utf-16be")
|
||||||
|
s2 = "z".force_encoding("us-ascii")
|
||||||
|
assert_nil(Encoding.compatible?(s1, s2), "Encoding.compatible?(#{encdump s1}, #{encdump s2})")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_end_with
|
||||||
|
s1 = "ab".force_encoding("utf-16be")
|
||||||
|
s2 = "b".force_encoding("utf-16be")
|
||||||
|
assert_equal(false, s1.end_with?(s2), "#{encdump s1}.end_with?(#{encdump s2})")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_hex
|
||||||
|
s1 = "f\0f\0".force_encoding("utf-16le")
|
||||||
|
assert_equal(255, s1.hex, "#{encdump s1}.hex")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_count
|
||||||
|
s1 = "aa".force_encoding("utf-16be")
|
||||||
|
s2 = "aa"
|
||||||
|
assert_raise(ArgumentError, "#{encdump s1}.count(#{encdump s2})") {
|
||||||
|
s1.count(s2)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_plus
|
||||||
|
s1 = "a".force_encoding("us-ascii")
|
||||||
|
s2 = "aa".force_encoding("utf-16be")
|
||||||
|
assert_raise(ArgumentError, "#{encdump s1} + #{encdump s2}") {
|
||||||
|
s1 + s2
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_encoding_find
|
||||||
|
assert_raise(ArgumentError) {
|
||||||
|
Encoding.find("utf-8".force_encoding("utf-16be"))
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue