a35a3645458efecc16222645a18cef63a91feebc
[chise/ruby.git] / test / test-parser.rb
1 #!/usr/bin/env ruby
2 # Copyright (C) 2002-2004 Kouichirou Eto, All rights reserved.
3
4 require "common"
5
6 class TestParser < Test::Unit::TestCase
7   def test_parser
8     @pa = CHISE::CharacterParser.new
9
10     # test_parse
11     assert_equal(0, @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_equal(110, @pa.parse("nosuchcharacter")) # hatena?
17
18     # test_parse_er
19     assert_equal(true, @pa.contain_er?("&#x41;"))
20     assert_equal(true, @pa.contain_er?("This is &#x41; er."))
21     assert_equal(true, @pa.is_er?("&#x41;"))
22     assert_equal(false, @pa.is_er?("This is &#x41; er."))
23     assert_raise(RuntimeError){ @pa.parse_er("nosucher") }
24     assert_equal(65, @pa.parse("&MCS-00000041;"))
25     assert_equal(65, @pa.parse("&U-0041;"))
26     assert_equal(65, @pa.parse("&U+0041;"))
27     assert_equal(65, @pa.parse("&#x0041;"))
28     assert_equal(65, @pa.parse("&#x41;"))
29     assert_equal(65, @pa.parse("&#65;"))
30     assert_equal(0xe001, @pa.parse("&my-1;"))
31     assert_equal(23383, @pa.parse("&J90-3B7A;"))
32     assert_equal(23383, @pa.parse("&I-J90-3B7A;"))
33 #    assert_raise(RuntimeError){ @pa.parse_er("&nosucher;") }
34   end
35 end