i
[chise/ruby.git] / test / test-string.rb
diff --git a/test/test-string.rb b/test/test-string.rb
new file mode 100755 (executable)
index 0000000..87e3c76
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/env ruby
+# Copyright (C) 2002-2004 Kouichirou Eto, All rights reserved.
+
+require "common"
+
+class TestString < Test::Unit::TestCase
+  def test_string
+    # test_utf8
+    assert_equal(true,  "字".is_a_utf8?)
+    assert_equal(false, "字字".is_a_utf8?)
+    assert_raises(RuntimeError){ "字字".char }
+    assert_raises(RuntimeError){ "字字".ucs }
+
+    # test_feature
+    assert_equal(25991, "文".ucs)
+    assert_equal(23383, "字".ucs)
+  end
+
+  def test_er
+    assert_equal("字", CHISE::Character.get("&J90-3B7A;").to_s)
+    assert_equal("字", "字".de_er) # no effect
+    assert_equal("字", "&J90-3B7A;".de_er)
+    assert_equal("文字列", "文&J90-3B7A;列".de_er)
+    assert_equal("文字列", "文&M-06942;列".de_er)
+    assert_equal("文字列", "文&MCS-00005B57;列".de_er)
+    assert_equal("文字列", "文&U-5B57;列".de_er)
+    assert_equal("文字列", "文&U+5B57;列".de_er)
+    assert_raises(RuntimeError){ "文&nosucher;列".de_er }
+  end
+
+  def test_characters
+    @str = "文字列"
+    assert_equal(["文","字","列"], @str.to_a)
+    ar = []
+    @str.each_char {|char| ar << char }
+    assert_equal(["文","字","列"], ar)
+  end
+end