- add method_missing to String class only if the char_length == 1.
[chise/ruby.git] / t / tc_char.rb
index 3ca5ca7..ca0d7d8 100755 (executable)
@@ -23,6 +23,7 @@ class TC_Character < Test::Unit::TestCase
     test_char(Character.get("字"))
     test_char(Character.new("字"))
     test_char("字".char)
+    test_char("字")
   end
   def test_create
     assert_equal(23383, Character.parse_char_id("字"))
@@ -108,7 +109,31 @@ class TC_Character < Test::Unit::TestCase
     assert_equal("字", "&U5B57;".de_er)
     assert_equal("字", "&U-5B57;".de_er)
     assert_equal("字", "&U+5B57;".de_er)
-    assert_equal("字", "&#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