2 # Copyright (C) 2002-2004 Kouichirou Eto, All rights reserved.
6 class TestParser < Test::Unit::TestCase
8 @pa = CHISE::CharacterParser.new
11 assert_raise(RuntimeError){ @pa.parse(nil) }
12 assert_equal(65, @pa.parse(0x41))
13 assert_raise(RuntimeError){ @pa.parse(Object.new) }
14 assert_equal(65, @pa.parse("65"))
15 assert_equal(20175, @pa.parse("?\344\273\217"))
16 assert_raise(RuntimeError){ @pa.parse("nosuchcharacter") }
17 assert_raise(RuntimeError){ @pa.parse("\344\273\217") }
20 assert_equal(true, @pa.contain_er?("A"))
21 assert_equal(true, @pa.contain_er?("This is A er."))
22 assert_equal(true, @pa.is_er?("A"))
23 assert_equal(false, @pa.is_er?("This is A er."))
24 assert_raise(RuntimeError){ @pa.parse_er("nosucher") }
25 assert_equal(0xe001, @pa.parse("&my-1;"))
27 assert_equal(23383, @pa.parse("&MCS-00005B57;"))
28 assert_equal(23383, @pa.parse("&U5B57;"))
29 assert_equal(23383, @pa.parse("&U-5B57;"))
30 assert_equal(23383, @pa.parse("&U+5B57;"))
31 assert_equal(23383, @pa.parse("字"))
32 assert_equal(23383, @pa.parse("字"))
35 assert_equal(23383, @pa.parse("&J90-3B7A;"))
36 assert_equal(23383, @pa.parse("&I-J90-3B7A;"))
37 assert_equal(23383, @pa.parse("&MCS-00005B57;"))
38 assert_equal(23383, @pa.parse("&M-06942;"))
39 assert_raise(RuntimeError){ @pa.parse_er("&nosucher;") }
41 assert_equal(28193, @pa.parse("&C1-602E;")) # 渡
42 assert_equal(15542221, @pa.parse("&C1-6030;")) # unknown
46 @pa = CHISE::EntityReferenceParser.new
47 assert_equal("This is A.", @pa.de_er("This is A."))
48 assert_equal("A\345\255\227B", @pa.de_er("A&U5B57;B"))
49 assert_equal("A\345\255\227B", @pa.de_er("A&J90-3B7A;B"))
50 # assert_equal("A\345\255\227B", @pa.de_er("&CB00002;"))