X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=test%2Ftest-parser.rb;h=e5c2523fab2ae6aa9f4444b3c63bcc3659f2e556;hb=85d5c7d449c81b6e0fdb3838cad47bb80cef80bd;hp=a35a3645458efecc16222645a18cef63a91feebc;hpb=dca7de2dc83659ff9a31b0ce9351826204185df1;p=chise%2Fruby.git diff --git a/test/test-parser.rb b/test/test-parser.rb index a35a364..e5c2523 100755 --- a/test/test-parser.rb +++ b/test/test-parser.rb @@ -4,32 +4,63 @@ require "common" class TestParser < Test::Unit::TestCase - def test_parser + def setup @pa = CHISE::CharacterParser.new + end - # test_parse - assert_equal(0, @pa.parse(nil)) + def test_parse + 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") } + end - # test_parse_er + def test_parse_er assert_equal(true, @pa.contain_er?("A")) assert_equal(true, @pa.contain_er?("This is A er.")) 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_raise(RuntimeError){ @pa.parse_er("&nosucher;") } + assert_raise(RuntimeError){ @pa.parse_er("nosucher") } + + 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("字")) + end + + def test_parse_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;")) + end + + def test_comples_ccs + assert_equal(28193, @pa.parse("&C1-602E;")) # 渡 + assert_equal(15542221, @pa.parse("&C1-6030;")) # unknown + + # test_ccs_etc + assert_equal(131636, @pa.parse("&HZK01-C947;")) # =hanziku-1 + assert_equal(1644203214, @pa.parse("&CDP-8CCE;")) # CDP + assert_equal(1644202927, @pa.parse("&CDP-8BAF;")) + assert_equal(1644210346, @pa.parse("&B-A8AA;")) # =big5 +# assert_equal(1644202869, @pa.parse("&RUI6-E00E;")) # =ruimoku-v6 + assert_equal(15225021, @pa.parse("&JC3-50BD;")) # =jef-china3 + assert_equal(1644202692, @pa.parse("&CB00008;")) +# assert_equal(14820071, @pa.parse("&CB08935;")) + 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")) end end