21472c313749c3014677122d8502598c029cc385
[chise/ruby.git] / test / test-string.rb
1 #!/usr/bin/env ruby
2 # Copyright (C) 2002-2004 Kouichirou Eto, All rights reserved.
3
4 require "common"
5
6 class TestString < Test::Unit::TestCase
7   def test_string
8     # test_utf8
9     assert_equal(true,  "字".is_a_utf8?)
10     assert_equal(false, "字字".is_a_utf8?)
11     assert_raises(RuntimeError){ "字字".char }
12     assert_raises(RuntimeError){ "字字".ucs }
13
14     # test_feature
15     assert_equal(25991, "文".ucs)
16     assert_equal(23383, "字".ucs)
17   end
18
19   def test_er
20     return
21     assert_equal("字", CHISE::Character.get("&J90-3B7A;").to_s)
22     assert_equal("字", "字".de_er) # no effect
23     assert_equal("字", "&J90-3B7A;".de_er)
24     assert_equal("文字列", "文&J90-3B7A;列".de_er)
25     assert_equal("文字列", "文&M-06942;列".de_er)
26     assert_equal("文字列", "文&MCS-00005B57;列".de_er)
27     assert_equal("文字列", "文&U-5B57;列".de_er)
28     assert_equal("文字列", "文&U+5B57;列".de_er)
29     assert_raises(RuntimeError){ "文&nosucher;列".de_er }
30   end
31
32   def test_de_er_ccs
33     assert_equal("\346\270\241", "&C1-602E;".de_er) # 渡
34     assert_equal("\370\273\222\237\215", "&C1-6030;".de_er) # unknown
35     # test_hanziku
36     assert_equal("\360\240\210\264", "&HZK01-C947;".de_er)
37 #    assert_equal(1644203214, "&CDP-8CCE;".de_er)
38 #    assert_equal(1644202927, "&CDP-8BAF;".de_er)
39   end
40
41   def test_characters
42     assert_equal(["文","字","列"], "文字列".to_a)
43     ar = []
44     "文字列".each_char {|char| ar << char }
45     assert_equal(["文","字","列"], ar)
46
47     # test_map
48     str = "文字列".map_char {|ch|
49       ch+ch
50     }
51     assert_equal("文文字字列列", str)
52   end
53 end