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

ruby-changes:10195

From: xibbar <ko1@a...>
Date: Thu, 22 Jan 2009 17:26:01 +0900 (JST)
Subject: [ruby-changes:10195] Ruby:r21739 (trunk): * lib/cgi/core.rb (CGI.parse): generate only key on params hash

xibbar	2009-01-22 17:25:44 +0900 (Thu, 22 Jan 2009)

  New Revision: 21739

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21739

  Log:
    * lib/cgi/core.rb (CGI.parse): generate only key on params hash
      if request have only key uri parameters.

  Modified files:
    trunk/ChangeLog
    trunk/lib/cgi/core.rb
    trunk/test/cgi/test_cgi_core.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21738)
+++ ChangeLog	(revision 21739)
@@ -1,3 +1,11 @@
+Thu Jan 22 17:12:37 2009  Takeyuki FUJIOKA  <xibbar@r...>
+
+	* lib/cgi/core.rb (CGI.parse): generate only key on params hash
+	  if request have only key uri parameters.
+		(ex. index.cgi?aaa&bbb=1 # params=>{:aaa=>[],:bbb=>["1"]})
+
+	* test/cgi/test_cgi_core.rb: fix test for key only params.
+
 Thu Jan 22 16:29:50 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/rubygems/installer.rb (Gem::Installer#initialize): fixed
Index: lib/cgi/core.rb
===================================================================
--- lib/cgi/core.rb	(revision 21738)
+++ lib/cgi/core.rb	(revision 21739)
@@ -339,6 +339,8 @@
       key, value = pairs.split('=',2).collect{|v| CGI::unescape(v) }
       if key && value
         params.has_key?(key) ? params[key].push(value) : params[key] = [value]
+      elsif key
+        params[key]=[]
       end
     end
     params.default=[].freeze
Index: test/cgi/test_cgi_core.rb
===================================================================
--- test/cgi/test_cgi_core.rb	(revision 21738)
+++ test/cgi/test_cgi_core.rb	(revision 21739)
@@ -31,7 +31,7 @@
     }
     ENV.update(@environ)
     cgi = CGI.new
-    assert_equal(["a","b","d"],cgi.keys.sort) if RUBY_VERSION>="1.9"
+    assert_equal(["a","b","c","d"],cgi.keys.sort) if RUBY_VERSION>="1.9"
     assert_equal("",cgi["d"])
   end
 

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

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