2 # Copyright (C) 2002-2004 Kouichirou Eto, All rights reserved.
3 # This file is in SJIS charset. Japanese Character ->
\8a¿
\8e\9a.
7 class TestBDB < Test::Unit::TestCase
10 @config = CHISE::Config.instance
12 assert_match(%r|/chise/char-db\Z|, dir)
14 file = dir+"/=jis-x0208/system-char-id"
15 # db = BDB::Hash.open(file, nil, BDB::CREATE | BDB::EXCL)
16 db = BDB::Hash.open(file, nil, 0)
21 # @cdb = CHISE::CharDB.instance
22 # @sdb = CHISE::CodesysDB.instance
26 @db = CHISE::CodesysDB.instance
30 #class TC_DB < Test::Unit::TestCase
33 @cdb = CHISE::CharDB.instance
34 @sdb = CHISE::CodesysDB.instance
38 assert_equal("()+!", CHISE::DB.unix_to_win("<>*?"))
39 assert_equal("<>*?", CHISE::DB.win_to_unix("()+!"))
43 assert_instance_of(Array, db.keys)
47 h = {"a" => 1, "b" => 2, "c" => 3}
48 db.remove_db("test-db") #
\82Ü
\82¸
\8dÅ
\8f\89\82É
\8fÁ
\82µ
\82Ä
\82¨
\82
49 assert_not_nil(db.make_db("test-db", h))
50 assert_not_nil(db.open_db("test-db"))
51 assert_equal(1, db.get("test-db", "a"))
52 assert_equal(2, db.get("test-db", "b"))
53 assert_equal(3, db.get("test-db", "c"))
54 db.remove_db("test-db") #
\8dÅ
\8cã
\82É
\82Ü
\82½
\8fÁ
\82µ
\82Ä
\82¨
\82
66 char.put_char_attribute("test-attribute", "test")
67 assert_equal("test", char.test_attribute)
72 class TestCodesys < Test::Unit::TestCase
75 # @db = CHISE::CodesysDB.instance
82 assert_equal(6287, @db.get("=jis-x0208").keys.length, "keys")
83 assert_equal(590, @db.get("japanese-jisx0208").keys.length, "keys")
84 assert_equal(499, @db.get("japanese-jisx0208-1978").keys.length, "keys")
85 assert_equal(593, @db.get("japanese-jisx0208-1990").keys.length, "keys")
86 assert_equal(6067, @db.get("japanese-jisx0212").keys.length, "keys")
87 assert_equal(1697, @db.get("japanese-jisx0213-1").keys.length, "keys")
88 assert_equal(2345, @db.get("japanese-jisx0213-2").keys.length, "keys")
89 assert_equal(4270, @db.get("ucs-jis").keys.length, "keys")
94 assert_instance_of(Array, @db.keys, "db.keys")
96 assert_equal(128, db.keys.length, "can get keys")
97 assert_equal(63, @db.get("katakana-jisx0201").keys.length, "keys")
98 assert_equal(94, @db.get("latin-jisx0201").keys.length, "keys")
101 @db.each("=jis-x0208"){|k, v| #
\88ø
\90\94\82ÌCodesys
\83f
\81[
\83^
\83x
\81[
\83X
\82Ì
\82»
\82ê
\82¼
\82ê
\82É
\91Î
\82µ
\82Ä
\8eÀ
\8ds
\82·
\82é
102 er0 = sprintf("&J90-%04X;", k)
103 er1 = CHISE::Character.new(v).to_er
104 counter += 1; break if 10 < counter
109 db = CHISE::CodesysDB.instance
110 codesys = db.get_codesys("ascii")
111 char = codesys.get(65)
112 assert_equal("A", char.to_s)
113 assert_equal(128, codesys.keys.length)
117 def nutest_jis_codesys
118 db = CHISE::CodesysDB.instance
119 codesys = db.get_codesys("=jis-x0208")
120 ks = codesys.keys.sort #
\82Æ
\82·
\82é
\82±
\82Æ
\82É
\82æ
\82Á
\82Ä
\81AJISX0208 1990
\82Ì
\8fW
\8d\87\91S
\95\94\82Ìkeys
\82ª
\93¾
\82ç
\82ê
\82é
121 # assert_equal(6880, ks.length)
122 assert_equal(8481, ks.first)
123 assert_equal(29566, ks.last)
124 char = codesys.get(15226) #"
\8e\9a"
125 assert_equal("
\8e\9a".su, char.to_s)
127 assert_equal("
\88\9f".su, codesys.get(12321))
128 jis = "
\88\9f".su.char.japanese_jisx0208_1990
129 # assert_equal("
\88\9f", codesys.get(jis))
130 # assert_equal("
\88\9f", sprintf("&J90-%04X;", jis).de_er)
132 # codesys = db.get_codesys("japanese-jisx0208-1990") #
\8b\8c\96¼
133 codesys = db.get_codesys("=jis-x0208-1990")
134 assert_equal(8481, ks.first)
135 assert_equal(29566, ks.last)