@pa = CHISE::CharacterParser.new
# test_parse
- assert_equal(0, @pa.parse(nil))
+ assert_raise(RuntimeError){ @pa.parse(nil) }
assert_equal(65, @pa.parse(0x41))
assert_raise(RuntimeError){ @pa.parse(Object.new) }
assert_equal(65, @pa.parse("65"))
assert_equal(20175, @pa.parse("?\344\273\217"))
- assert_equal(110, @pa.parse("nosuchcharacter")) # hatena?
+ assert_raise(RuntimeError){ @pa.parse("nosuchcharacter") }
+ assert_raise(RuntimeError){ @pa.parse("\344\273\217") }
# test_parse_er
assert_equal(true, @pa.contain_er?("A"))
assert_equal(true, @pa.is_er?("A"))
assert_equal(false, @pa.is_er?("This is A er."))
assert_raise(RuntimeError){ @pa.parse_er("nosucher") }
- assert_equal(65, @pa.parse("&MCS-00000041;"))
- assert_equal(65, @pa.parse("&U-0041;"))
- assert_equal(65, @pa.parse("&U+0041;"))
- assert_equal(65, @pa.parse("A"))
- assert_equal(65, @pa.parse("A"))
- assert_equal(65, @pa.parse("A"))
assert_equal(0xe001, @pa.parse("&my-1;"))
+
+ assert_equal(23383, @pa.parse("&MCS-00005B57;"))
+ assert_equal(23383, @pa.parse("&U5B57;"))
+ assert_equal(23383, @pa.parse("&U-5B57;"))
+ assert_equal(23383, @pa.parse("&U+5B57;"))
+ assert_equal(23383, @pa.parse("字"))
+ assert_equal(23383, @pa.parse("字"))
+
+ # test_get_ccs
assert_equal(23383, @pa.parse("&J90-3B7A;"))
assert_equal(23383, @pa.parse("&I-J90-3B7A;"))
-# assert_raise(RuntimeError){ @pa.parse_er("&nosucher;") }
+ assert_equal(23383, @pa.parse("&MCS-00005B57;"))
+ assert_equal(23383, @pa.parse("&M-06942;"))
+ assert_raise(RuntimeError){ @pa.parse_er("&nosucher;") }
+
+ assert_equal(28193, @pa.parse("&C1-602E;")) # 渡
+ assert_equal(15542221, @pa.parse("&C1-6030;")) # unknown
+ end
+
+ def test_de_er
+ @pa = CHISE::EntityReferenceParser.new
+ assert_equal("This is A.", @pa.de_er("This is A."))
+ assert_equal("A\345\255\227B", @pa.de_er("A&U5B57;B"))
+ assert_equal("A\345\255\227B", @pa.de_er("A&J90-3B7A;B"))
+# assert_equal("A\345\255\227B", @pa.de_er("&CB00002;"))
end
end