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

ruby-changes:4141

From: ko1@a...
Date: Thu, 28 Feb 2008 20:58:37 +0900 (JST)
Subject: [ruby-changes:4141] naruse - Ruby:r15631 (trunk): * encoding.c (enc_find): check type of argument and convert to String

naruse	2008-02-28 20:58:11 +0900 (Thu, 28 Feb 2008)

  New Revision: 15631

  Modified files:
    trunk/ChangeLog
    trunk/bootstraptest/test_knownbug.rb
    trunk/encoding.c
    trunk/test/ruby/test_m17n.rb

  Log:
    * encoding.c (enc_find): check type of argument and convert to String
      if it is StringValue. [ruby-cvs:22866]

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15631&r2=15630&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=15631&r2=15630&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_m17n.rb?r1=15631&r2=15630&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_knownbug.rb?r1=15631&r2=15630&diff_format=u

Index: encoding.c
===================================================================
--- encoding.c	(revision 15630)
+++ encoding.c	(revision 15631)
@@ -902,7 +902,7 @@
 {
     int idx;
 
-    if (SYMBOL_P(enc)) enc = rb_id2str(SYM2ID(enc));
+    StringValue(enc);
     if (!rb_enc_asciicompat(rb_enc_get(enc))) {
 	rb_raise(rb_eArgError, "invalid name encoding (non ASCII)");
     }
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15630)
+++ ChangeLog	(revision 15631)
@@ -1,3 +1,8 @@
+Thu Feb 28 19:45:52 2008  NARUSE, Yui  <naruse@r...>
+
+	* encoding.c (enc_find): check type of argument and convert to String
+	  if it is StringValue. [ruby-cvs:22866]
+
 Thu Feb 28 18:07:52 2008  Tanaka Akira  <akr@f...>
 
 	* lib/open-uri.rb (OpenURI::Meta#meta_setup_encoding): setup encoding
Index: bootstraptest/test_knownbug.rb
===================================================================
--- bootstraptest/test_knownbug.rb	(revision 15630)
+++ bootstraptest/test_knownbug.rb	(revision 15631)
@@ -57,7 +57,3 @@
 assert_normal_exit %q{
   "".center(1, "\x80".force_encoding("utf-8"))
 }, '[ruby-dev:33807]'
-
-assert_normal_exit %q{
-  Encoding.find(nil)
-}
Index: test/ruby/test_m17n.rb
===================================================================
--- test/ruby/test_m17n.rb	(revision 15630)
+++ test/ruby/test_m17n.rb	(revision 15631)
@@ -1113,6 +1113,13 @@
     assert_equal(Encoding::US_ASCII, {1=>nil,"foo"=>""}.to_s.encoding)
   end
 
+  def test_encoding_find
+    assert_raise(TypeError) {Encoding.find(nil)}
+    assert_raise(TypeError) {Encoding.find(0)}
+    assert_raise(TypeError) {Encoding.find([])}
+    assert_raise(TypeError) {Encoding.find({})}
+  end
+
   def test_encoding_to_s
     assert_equal(Encoding::US_ASCII, Encoding::US_ASCII.to_s.encoding)
     assert_equal(Encoding::US_ASCII, Encoding::US_ASCII.inspect.encoding)

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

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