9 class TC_String < Test::Unit::TestCase
15 @str.each_char {|char| ar << char }
16 assert_equal(["文","字","列"], ar)
17 assert_equal(["文","字","列"], @str.to_a)
18 assert_equal("文", @str.char_at(0))
19 assert_equal("字", @str.char_at(1))
20 assert_equal("列", @str.char_at(2))
21 assert_equal(nil, @str.char_at(3))
22 assert_equal("列", @str.char_at(-1))
25 assert_equal(23383, "字".ucs)
26 assert_equal(23383, "字字".ucs)
27 assert_equal(25991, "文".ucs)
28 assert_equal(25991, @str.ucs)
31 @char = @str.char_at(1)
32 assert_equal(@char, Character.get("&J90-3B7A;").to_s, "jisx0208")
33 assert_equal("字", Character.get("&J90-3B7A;").to_s, "jisx0208")
34 assert_equal("字", "&J90-3B7A;".de_er, "jisx0208")
35 assert_equal("文字", "文&J90-3B7A;".de_er, "with other character, at the bottom")
36 assert_equal("字文", "&J90-3B7A;文".de_er, "at the top")
37 assert_equal("文字字", "文&J90-3B7A;&J90-3B7A;".de_er, "two ERs")
38 assert_equal("文字文字", "文&J90-3B7A;文&J90-3B7A;".de_er, "two ERs")
39 assert_equal("文字", "文&MCS-00005B57;".de_er, "mcs")
40 assert_equal("文字", "文&M-06942;".de_er, "morohashi")
41 assert_equal("字", "字".de_er)
44 str2 = str.de_er #本体に変更無し
45 assert_equal("文&J90-3B7A;", str)
46 assert_equal("文字", str2)
47 str3 = str.de_er! #本体が変わります
48 assert_equal("文字", str)
49 assert_equal("文字", str3)
51 assert_equal("字", "&MCS-00005B57;".de_er)
52 assert_equal("字", "&U-5B57;".de_er)
53 assert_equal("字", "&U+5B57;".de_er)
54 # assert_equal("", "&nosucher;".de_er)
55 assert_equal("字", "&U-5b57;".de_er)
58 str = @str.map_char {|ch|
61 assert_equal("文文字字列列", str)
62 assert_equal("文字列", @str)
63 str = @str.map_char! {|ch|
66 assert_equal("文文字字列列", str)
67 assert_equal("文文字字列列", @str)
68 assert_equal("文文字字列列", @str)
70 # assert_equal("<文,C1-4546>", "文".inspect_x)
71 # assert_equal("<字,J90-3B7A>", "字".inspect_x)
72 # assert_equal("<列,J90-4E73>", "列".inspect_x)
73 # assert_equal("<文,C1-4546><字,J90-3B7A><列,J90-4E73>", "文字列".inspect_x)
76 # assert_match(/^<字,J90-3B7A,/, ins)
77 assert_match(/chinese-big5:42610/, ins)
78 assert_match(/chinese-cns11643-1:18291/, ins)
79 assert_match(/chinese-gb2312:22358/, ins)
80 assert_match(/chinese-isoir165:22358/, ins)
81 assert_match(/ideograph-daikanwa:6942/, ins)
82 assert_match(/ideographic-radical:39/, ins)
83 assert_match(/ideographic-strokes:3/, ins)
84 assert_match(/korean-ksc5601:27950/, ins)
85 assert_match(/shinjigen-2:1777/, ins)
86 assert_match(/total-strokes:6/, ins)
87 assert_match(/ucs:23383/, ins)
91 #----------------------------------------------------------------------end.