aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/net/http.rb2
-rw-r--r--test/net/http/test_http.rb20
3 files changed, 27 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index bb24d948ac..d649359c8f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat May 12 18:26:36 2007 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/http.rb (tokens): forgot to add strip. [ruby-core:11120]
+
+ * test/net/http/test_http.rb: test Net::HTTP.post_form.
+
Fri May 11 15:27:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* iseq.c (iseq_data_to_ary): internal IDs must not be exposed.
diff --git a/lib/net/http.rb b/lib/net/http.rb
index 060753e62e..62b951db1a 100644
--- a/lib/net/http.rb
+++ b/lib/net/http.rb
@@ -1503,7 +1503,7 @@ module Net #:nodoc:
return [] unless vals
vals.map {|v| v.split(',') }.flatten\
.reject {|str| str.strip.empty? }\
- .map {|tok| tok.downcase }
+ .map {|tok| tok.strip.downcase }
end
private :tokens
diff --git a/test/net/http/test_http.rb b/test/net/http/test_http.rb
index 655c22a31e..eeb046b54b 100644
--- a/test/net/http/test_http.rb
+++ b/test/net/http/test_http.rb
@@ -139,6 +139,25 @@ module TestNetHTTP_version_1_1_methods
assert_equal data, f.string
end
+ def test_s_post_form
+ res = Net::HTTP.post_form(
+ URI.parse("http://#{config('host')}:#{config('port')}/"),
+ "a" => "x")
+ assert_equal ["a=x"], res.body.split(/[;&]/).sort
+
+ res = Net::HTTP.post_form(
+ URI.parse("http://#{config('host')}:#{config('port')}/"),
+ "a" => "x",
+ "b" => "y")
+ assert_equal ["a=x", "b=y"], res.body.split(/[;&]/).sort
+
+ res = Net::HTTP.post_form(
+ URI.parse("http://#{config('host')}:#{config('port')}/"),
+ "a" => ["x1", "x2"],
+ "b" => "y")
+ assert_equal ["a=x1", "a=x2", "b=y"], res.body.split(/[;&]/).sort
+ end
+
end
@@ -312,6 +331,7 @@ module TestNetHTTPUtils
res.body = $test_net_http_data
end
+ # echo server
def do_POST(req, res)
res['Content-Type'] = req['Content-Type']
res.body = req.body