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/