diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-26 13:15:31 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-26 13:15:31 +0000 |
commit | 8e1f07d6b37c034a85bc1a36a9d109076716587c (patch) | |
tree | c0c1cd85173caa9f4e44f81e81c4d880c9f50028 /test/net | |
parent | 6b80faa6fb245c3fa8639584c3a5981ac7e31ad6 (diff) |
* lib/net/http.rb: sync with HEAD (rev 1.132).
* lib/net/http.rb (Net::HTTP#post, request_post, request): should set Content-Type: x-www-form-urlencoded by default.
* lib/net/http.rb (Net::HTTPHeader#content_type): should return nil when there's no Content-Type.
* lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil when there's no sub Content-Type (e.g. "Content-Type: text").
* lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed when there's no Content-Type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/net')
-rw-r--r-- | test/net/http/test_httpheader.rb | 116 |
1 files changed, 36 insertions, 80 deletions
diff --git a/test/net/http/test_httpheader.rb b/test/net/http/test_httpheader.rb index 2c64e31f10..ca2bf9f46e 100644 --- a/test/net/http/test_httpheader.rb +++ b/test/net/http/test_httpheader.rb @@ -6,8 +6,10 @@ class HTTPHeaderTest < Test::Unit::TestCase class C include Net::HTTPHeader def initialize - initialize_http_header({}) + @header = {} + @body = nil end + attr_accessor :body end def setup @@ -49,91 +51,25 @@ class HTTPHeaderTest < Test::Unit::TestCase @c['Next-Header'] = 'next string' assert_equal 'next string', @c['next-header'] end - + def test_add_field - @c.add_field 'My-Header', 'a' - assert_equal 'a', @c['My-Header'] - assert_equal ['a'], @c.get_fields('My-Header') - @c.add_field 'My-Header', 'b' - assert_equal 'a, b', @c['My-Header'] - assert_equal ['a', 'b'], @c.get_fields('My-Header') - @c.add_field 'My-Header', 'c' - assert_equal 'a, b, c', @c['My-Header'] - assert_equal ['a', 'b', 'c'], @c.get_fields('My-Header') - @c.add_field 'My-Header', 'd, d' - assert_equal 'a, b, c, d, d', @c['My-Header'] - assert_equal ['a', 'b', 'c', 'd, d'], @c.get_fields('My-Header') end def test_get_fields - @c['My-Header'] = 'test string' - assert_equal ['test string'], @c.get_fields('my-header') - assert_equal ['test string'], @c.get_fields('My-header') - assert_equal ['test string'], @c.get_fields('my-Header') - - assert_nil @c.get_fields('not-found') - assert_nil @c.get_fields('Not-Found') - - @c.get_fields('my-header').push 'junk' - assert_equal ['test string'], @c.get_fields('my-header') - @c.get_fields('my-header').clear - assert_equal ['test string'], @c.get_fields('my-header') end def test_delete - @c['My-Header'] = 'test' - assert_equal 'test', @c['My-Header'] - assert_nil @c['not-found'] - @c.delete 'My-Header' - assert_nil @c['My-Header'] - assert_nil @c['not-found'] - @c.delete 'My-Header' - @c.delete 'My-Header' - assert_nil @c['My-Header'] - assert_nil @c['not-found'] end def test_each - @c['My-Header'] = 'test' - @c.each do |k, v| - assert_equal 'my-header', k - assert_equal 'test', v - end - @c.each do |k, v| - assert_equal 'my-header', k - assert_equal 'test', v - end end def test_each_key - @c['My-Header'] = 'test' - @c.each_key do |k| - assert_equal 'my-header', k - end - @c.each_key do |k| - assert_equal 'my-header', k - end end def test_each_value - @c['My-Header'] = 'test' - @c.each_value do |v| - assert_equal 'test', v - end - @c.each_value do |v| - assert_equal 'test', v - end end - def test_canonical_each - @c['my-header'] = ['a', 'b'] - @c.canonical_each do |k,v| - assert_equal 'My-Header', k - assert_equal 'a, b', v - end - end - -=begin def test_each_capitalized @c['my-header'] = ['a', 'b'] @c.each_capitalized do |k,v| @@ -141,16 +77,8 @@ class HTTPHeaderTest < Test::Unit::TestCase assert_equal 'a, b', v end end -=end def test_key? - @c['My-Header'] = 'test' - assert_equal true, @c.key?('My-Header') - assert_equal true, @c.key?('my-header') - assert_equal false, @c.key?('Not-Found') - assert_equal false, @c.key?('not-found') - assert_equal false, @c.key?('') - assert_equal false, @c.key?('x' * 1024) end def test_to_hash @@ -227,7 +155,6 @@ class HTTPHeaderTest < Test::Unit::TestCase assert_equal len, @c.content_length end -=begin def test_content_length= @c.content_length = 0 assert_equal 0, @c.content_length @@ -238,48 +165,77 @@ class HTTPHeaderTest < Test::Unit::TestCase @c.content_length = 10000000000000 assert_equal 10000000000000, @c.content_length end -=end -=begin def test_content_type + assert_nil @c.content_type @c.content_type = 'text/html' assert_equal 'text/html', @c.content_type @c.content_type = 'application/pdf' assert_equal 'application/pdf', @c.content_type @c.set_content_type 'text/html', {'charset' => 'iso-2022-jp'} assert_equal 'text/html', @c.content_type + @c.content_type = 'text' + assert_equal 'text', @c.content_type end def test_main_type + assert_nil @c.main_type @c.content_type = 'text/html' assert_equal 'text', @c.main_type @c.content_type = 'application/pdf' assert_equal 'application', @c.main_type @c.set_content_type 'text/html', {'charset' => 'iso-2022-jp'} assert_equal 'text', @c.main_type + @c.content_type = 'text' + assert_equal 'text', @c.main_type end def test_sub_type + assert_nil @c.sub_type @c.content_type = 'text/html' assert_equal 'html', @c.sub_type @c.content_type = 'application/pdf' assert_equal 'pdf', @c.sub_type @c.set_content_type 'text/html', {'charset' => 'iso-2022-jp'} assert_equal 'html', @c.sub_type + @c.content_type = 'text' + assert_nil @c.sub_type end def test_type_params + assert_equal({}, @c.type_params) @c.content_type = 'text/html' assert_equal({}, @c.type_params) @c.content_type = 'application/pdf' assert_equal({}, @c.type_params) @c.set_content_type 'text/html', {'charset' => 'iso-2022-jp'} assert_equal({'charset' => 'iso-2022-jp'}, @c.type_params) + @c.content_type = 'text' + assert_equal({}, @c.type_params) end def test_set_content_type end -=end + + def test_form_data= + @c.form_data = {"cmd"=>"search", "q"=>"ruby", "max"=>"50"} + assert_equal 'application/x-www-form-urlencoded', @c.content_type + assert_equal %w( cmd=search max=50 q=ruby ), @c.body.split('&').sort + end + + def test_set_form_data + @c.set_form_data "cmd"=>"search", "q"=>"ruby", "max"=>"50" + assert_equal 'application/x-www-form-urlencoded', @c.content_type + assert_equal %w( cmd=search max=50 q=ruby ), @c.body.split('&').sort + + @c.set_form_data "cmd"=>"search", "q"=>"ruby", "max"=>50 + assert_equal 'application/x-www-form-urlencoded', @c.content_type + assert_equal %w( cmd=search max=50 q=ruby ), @c.body.split('&').sort + + @c.set_form_data({"cmd"=>"search", "q"=>"ruby", "max"=>"50"}, ';') + assert_equal 'application/x-www-form-urlencoded', @c.content_type + assert_equal %w( cmd=search max=50 q=ruby ), @c.body.split(';').sort + end def test_basic_auth end |