summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/net/http/test_httpheader.rb116
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