30 lines
760 B
Ruby
Vendored
30 lines
760 B
Ruby
Vendored
##
|
|
# String(Ext) Test
|
|
|
|
UTF8STRING = __ENCODING__ == "UTF-8"
|
|
|
|
assert('String#valid_encoding?') do
|
|
assert_true "hello".valid_encoding?
|
|
if UTF8STRING
|
|
assert_true "あ".valid_encoding?
|
|
assert_false "\xfe".valid_encoding?
|
|
assert_false "あ\xfe".valid_encoding?
|
|
assert_true "あ\xfe".b.valid_encoding?
|
|
else
|
|
assert_true "\xfe".valid_encoding?
|
|
end
|
|
end
|
|
|
|
assert('String#encoding') do
|
|
if UTF8STRING
|
|
a = "あ"
|
|
assert_equal Encoding::UTF_8, a.encoding
|
|
assert_equal Encoding::BINARY, a.b.encoding
|
|
assert_equal a, a.force_encoding(Encoding::BINARY)
|
|
assert_equal a, a.force_encoding(Encoding::BINARY)
|
|
assert_equal Encoding::BINARY, a.encoding
|
|
else
|
|
a = "hello"
|
|
assert_equal Encoding::BINARY, a.encoding
|
|
end
|
|
end
|