[前][次][番号順一覧][スレッド一覧]

ruby-changes:2926

From: ko1@a...
Date: 21 Dec 2007 16:50:51 +0900
Subject: [ruby-changes:2926] naruse - Ruby:r14417 (trunk): * ext/nkf/nkf-utf8/config.h (MIME_DECODE_DEFAULT, X0201_DEFAULT):

naruse	2007-12-21 16:50:31 +0900 (Fri, 21 Dec 2007)

  New Revision: 14417

  Modified files:
    trunk/ChangeLog
    trunk/ext/nkf/nkf-utf8/config.h
    trunk/test/nkf/test_kconv.rb

  Log:
    * ext/nkf/nkf-utf8/config.h (MIME_DECODE_DEFAULT, X0201_DEFAULT):
     defined as FALSE.  nkf and kconv don't decode MIME encoded string
     and don't convert JIS X 0201 Katakana.
    
    * test/nkf/test_kconv.rb: fix tests.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14417&r2=14416
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/nkf/nkf-utf8/config.h?r1=14417&r2=14416
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/nkf/test_kconv.rb?r1=14417&r2=14416

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14416)
+++ ChangeLog	(revision 14417)
@@ -1,3 +1,11 @@
+Fri Dec 21 16:37:43 2007  NARUSE, Yui <naruse@r...>
+
+	* ext/nkf/nkf-utf8/config.h (MIME_DECODE_DEFAULT, X0201_DEFAULT):
+	 defined as FALSE.  nkf and kconv don't decode MIME encoded string
+	 and don't convert JIS X 0201 Katakana.
+	
+	* test/nkf/test_kconv.rb: fix tests.
+
 Fri Dec 21 16:33:28 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* enumerator.c (enumerator_iter_i): adjusted for rb_block_call_func.
Index: ext/nkf/nkf-utf8/config.h
===================================================================
--- ext/nkf/nkf-utf8/config.h	(revision 14416)
+++ ext/nkf/nkf-utf8/config.h	(revision 14417)
@@ -85,4 +85,7 @@
 };
 #endif
 
+#define MIME_DECODE_DEFAULT 0
+#define X0201_DEFAULT 0
+
 #endif /* _CONFIG_H_ */
Index: test/nkf/test_kconv.rb
===================================================================
--- test/nkf/test_kconv.rb	(revision 14416)
+++ test/nkf/test_kconv.rb	(revision 14417)
@@ -2,70 +2,73 @@
 require 'kconv'
 
 class TestKconv < Test::Unit::TestCase
-  EUC_STR = "\
+  def setup
+    @euc_str = "\
 \xa5\xaa\xa5\xd6\xa5\xb8\xa5\xa7\xa5\xaf\xa5\xc8\xbb\xd8\xb8\xfe\
 \xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec
-\x52\x75\x62\x79"
-  UTF8_STR = "\
+\x52\x75\x62\x79".force_encoding('EUC-JP')
+    @utf8_str = "\
 \xe3\x82\xaa\xe3\x83\x96\xe3\x82\xb8\xe3\x82\xa7\
 \xe3\x82\xaf\xe3\x83\x88\xe6\x8c\x87\xe5\x90\x91\
 \xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\
 \xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e
-\x52\x75\x62\x79"
-  SJIS_STR = "\
+\x52\x75\x62\x79".force_encoding('UTF-8')
+    @sjis_str = "\
 \x83\x49\x83\x75\x83\x57\x83\x46\x83\x4e\x83\x67\x8e\x77\x8c\xfc\
 \x83\x76\x83\x8d\x83\x4f\x83\x89\x83\x7e\x83\x93\x83\x4f\x8c\xbe\x8c\xea
-\x52\x75\x62\x79"
-  JIS_STR = "\
+\x52\x75\x62\x79".force_encoding('Shift_JIS')
+    @jis_str = "\
 \x1b\x24\x42\x25\x2a\x25\x56\x25\x38\x25\x27\x25\x2f\x25\x48\x3b\x58\x38\x7e\
 \x25\x57\x25\x6d\x25\x30\x25\x69\x25\x5f\x25\x73\x25\x30\x38\x40\x38\x6c\x1b\x28\x42
-\x52\x75\x62\x79"
+\x52\x75\x62\x79".force_encoding('ISO-2022-JP')
+  end 
 
+
   def test_eucjp
-    assert(EUC_STR.iseuc)
-    assert_equal(::Kconv::EUC, Kconv.guess(EUC_STR))
-    assert_equal(EUC_STR, EUC_STR.toeuc)
-    assert_equal(EUC_STR, SJIS_STR.toeuc)
-    assert_equal(EUC_STR, UTF8_STR.toeuc)
-    assert_equal(EUC_STR, JIS_STR.toeuc)
-    assert_equal(EUC_STR, EUC_STR.kconv(::NKF::EUC))
-    assert_equal(EUC_STR, SJIS_STR.kconv(::NKF::EUC))
-    assert_equal(EUC_STR, UTF8_STR.kconv(::NKF::EUC))
-    assert_equal(EUC_STR, JIS_STR.kconv(::NKF::EUC))
+    assert(@euc_str.dup.force_encoding(nil).iseuc)
+    assert_equal(::Kconv::EUC, Kconv.guess(@euc_str))
+    assert_equal(@euc_str, @euc_str.toeuc)
+    assert_equal(@euc_str, @sjis_str.toeuc)
+    assert_equal(@euc_str, @utf8_str.toeuc)
+    assert_equal(@euc_str, @jis_str.toeuc)
+    assert_equal(@euc_str, @euc_str.kconv(::NKF::EUC))
+    assert_equal(@euc_str, @sjis_str.kconv(::NKF::EUC))
+    assert_equal(@euc_str, @utf8_str.kconv(::NKF::EUC))
+    assert_equal(@euc_str, @jis_str.kconv(::NKF::EUC))
   end
   def test_shiftjis
-    assert(SJIS_STR.issjis)
-    assert_equal(::Kconv::SJIS, Kconv.guess(SJIS_STR))
-    assert_equal(SJIS_STR, EUC_STR.tosjis)
-    assert_equal(SJIS_STR, SJIS_STR.tosjis)
-    assert_equal(SJIS_STR, UTF8_STR.tosjis)
-    assert_equal(SJIS_STR, JIS_STR.tosjis)
-    assert_equal(SJIS_STR, EUC_STR.kconv(::NKF::SJIS))
-    assert_equal(SJIS_STR, SJIS_STR.kconv(::NKF::SJIS))
-    assert_equal(SJIS_STR, UTF8_STR.kconv(::NKF::SJIS))
-    assert_equal(SJIS_STR, JIS_STR.kconv(::NKF::SJIS))
+    assert(@sjis_str.dup.force_encoding(nil).issjis)
+    assert_equal(::Kconv::SJIS, Kconv.guess(@sjis_str))
+    assert_equal(@sjis_str, @euc_str.tosjis)
+    assert_equal(@sjis_str, @sjis_str.tosjis)
+    assert_equal(@sjis_str, @utf8_str.tosjis)
+    assert_equal(@sjis_str, @jis_str.tosjis)
+    assert_equal(@sjis_str, @euc_str.kconv(::NKF::SJIS))
+    assert_equal(@sjis_str, @sjis_str.kconv(::NKF::SJIS))
+    assert_equal(@sjis_str, @utf8_str.kconv(::NKF::SJIS))
+    assert_equal(@sjis_str, @jis_str.kconv(::NKF::SJIS))
   end
   def test_utf8
-    assert(UTF8_STR.isutf8)
-    assert_equal(::Kconv::UTF8, Kconv.guess(UTF8_STR))
-    assert_equal(UTF8_STR, EUC_STR.toutf8)
-    assert_equal(UTF8_STR, SJIS_STR.toutf8)
-    assert_equal(UTF8_STR, UTF8_STR.toutf8)
-    assert_equal(UTF8_STR, JIS_STR.toutf8)
-    assert_equal(UTF8_STR, EUC_STR.kconv(::NKF::UTF8))
-    assert_equal(UTF8_STR, SJIS_STR.kconv(::NKF::UTF8))
-    assert_equal(UTF8_STR, UTF8_STR.kconv(::NKF::UTF8))
-    assert_equal(UTF8_STR, JIS_STR.kconv(::NKF::UTF8))
+    assert(@utf8_str.dup.force_encoding(nil).isutf8)
+    assert_equal(::Kconv::UTF8, Kconv.guess(@utf8_str))
+    assert_equal(@utf8_str, @euc_str.toutf8)
+    assert_equal(@utf8_str, @sjis_str.toutf8)
+    assert_equal(@utf8_str, @utf8_str.toutf8)
+    assert_equal(@utf8_str, @jis_str.toutf8)
+    assert_equal(@utf8_str, @euc_str.kconv(::NKF::UTF8))
+    assert_equal(@utf8_str, @sjis_str.kconv(::NKF::UTF8))
+    assert_equal(@utf8_str, @utf8_str.kconv(::NKF::UTF8))
+    assert_equal(@utf8_str, @jis_str.kconv(::NKF::UTF8))
   end
   def test_jis
-    assert_equal(::Kconv::JIS, Kconv.guess(JIS_STR))
-    assert_equal(JIS_STR, EUC_STR.tojis)
-    assert_equal(JIS_STR, SJIS_STR.tojis)
-    assert_equal(JIS_STR, UTF8_STR.tojis)
-    assert_equal(JIS_STR, JIS_STR.tojis)
-    assert_equal(JIS_STR, EUC_STR.kconv(::NKF::JIS))
-    assert_equal(JIS_STR, SJIS_STR.kconv(::NKF::JIS))
-    assert_equal(JIS_STR, UTF8_STR.kconv(::NKF::JIS))
-    assert_equal(JIS_STR, JIS_STR.kconv(::NKF::JIS))
+    assert_equal(::Kconv::JIS, Kconv.guess(@jis_str))
+    assert_equal(@jis_str, @euc_str.tojis)
+    assert_equal(@jis_str, @sjis_str.tojis)
+    assert_equal(@jis_str, @utf8_str.tojis)
+    assert_equal(@jis_str, @jis_str.tojis)
+    assert_equal(@jis_str, @euc_str.kconv(::NKF::JIS))
+    assert_equal(@jis_str, @sjis_str.kconv(::NKF::JIS))
+    assert_equal(@jis_str, @utf8_str.kconv(::NKF::JIS))
+    assert_equal(@jis_str, @jis_str.kconv(::NKF::JIS))
   end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]