From 5e4004fa1d3b4a045c8492fd37812c6103dcc68a Mon Sep 17 00:00:00 2001 From: aamine Date: Sun, 6 Mar 2005 07:42:35 +0000 Subject: * lib/net/http.rb: HTTPHeader holds its header fields as an array (backport from CVS HEAD rev 1.112-1.123). [ruby-list:40629] * test/net/http/test_httpheader.rb: new file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/net/http/test_httpheader.rb | 82 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 2 deletions(-) (limited to 'test/net') diff --git a/test/net/http/test_httpheader.rb b/test/net/http/test_httpheader.rb index 1a8751e28c..2c64e31f10 100644 --- a/test/net/http/test_httpheader.rb +++ b/test/net/http/test_httpheader.rb @@ -6,7 +6,7 @@ class HTTPHeaderTest < Test::Unit::TestCase class C include Net::HTTPHeader def initialize - @header = {} + initialize_http_header({}) end end @@ -49,25 +49,91 @@ 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| @@ -75,8 +141,16 @@ 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 @@ -153,6 +227,7 @@ 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 @@ -163,7 +238,9 @@ class HTTPHeaderTest < Test::Unit::TestCase @c.content_length = 10000000000000 assert_equal 10000000000000, @c.content_length end +=end +=begin def test_content_type @c.content_type = 'text/html' assert_equal 'text/html', @c.content_type @@ -202,6 +279,7 @@ class HTTPHeaderTest < Test::Unit::TestCase def test_set_content_type end +=end def test_basic_auth end -- cgit v1.2.3