add libchise extension.
[chise/ruby.git] / t / tc_char.rb
index 364ad2d..ca0d7d8 100755 (executable)
@@ -22,6 +22,7 @@ class TC_Character < Test::Unit::TestCase
   def test_chars
     test_char(Character.get("字"))
     test_char(Character.new("字"))
+    test_char("字".char)
     test_char("字")
   end
   def test_create
@@ -62,7 +63,8 @@ class TC_Character < Test::Unit::TestCase
   def test_ids
     char = Character.get("⿰")
     assert_equal(char.name, "IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT", "ids name")
-    assert_equal(char.to_er, "&U+2FF0;", "ids er")
+    #assert_equal(char.to_er, "&U+2FF0;", "ids er")
+    assert_equal(char.to_er, "&#x2ff0;", "ids er")
     assert_equal(char.bidi_category, "ON", "ids bidi")
   end
   def test_jis
@@ -103,6 +105,36 @@ class TC_Character < Test::Unit::TestCase
     p_er("&J83-3958;") #購
     p_er("&J90-3958;")
   end
+  def test_read_ucs
+    assert_equal("字", "&U5B57;".de_er)
+    assert_equal("字", "&U-5B57;".de_er)
+    assert_equal("字", "&U+5B57;".de_er)
+    assert_equal("字", "&#x5B57;".de_er)
+  end
+  def test_alias
+    assert_raises(NameError, message=""){
+      t = "字字".ucs
+    }
+    assert_equal(23383, "字".ucs)
+    assert_equal(0x5B57, "字".ucs)
+    assert_equal(0x5B57, @char.ucs)
+
+    assert_equal(0xfa55, "突".char['=>ucs-jis'])
+    assert_equal(0xfa55, "突".map_ucs_jis)
+
+    char1 = Character.get("23383")
+    char2 = Character.get(23383)
+    assert_equal(char1, char2)
+
+    char1 = Character.get("2")
+    char2 = Character.get(2)
+    assert_not_equal(char1, char2)
+
+    assert_equal("(((name . \"FULLWIDTH DIGIT ONE\") (ucs . 65297)))", "1".char['->fullwidth'])
+    assert_equal("(((name . \"FULLWIDTH DIGIT ONE\") (ucs . 65297)))", "1".char.to_fullwidth)
+    assert_equal("(((name . \"DIGIT ONE\") (ucs . 49)))", "1".char['<-fullwidth'])
+    assert_equal("(((name . \"DIGIT ONE\") (ucs . 49)))", "1".char.from_fullwidth)
+  end
   def teardown() @char = nil  end
 end