Files
Yukihiro "Matz" Matsumoto 74bdae9e4c mruby-encoding: add Poorman's Encoding gem
The difference from CRuby's Encoding:

- Encoding is a module, instead of a class
- each Encoding (e.g. `Encoding::UTF_8) is a string instead of Encoding object
- only supports  `UTF-8` and `ASCII-8BIT` (and its alias `BINARY`)

Using this gem automatically turn on `MRB_UTF8_STRING` support.
2025-01-16 08:52:41 +09:00

31 lines
760 B
Ruby

##
# 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