mechanize 2.4 → 2.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of mechanize might be problematic. Click here for more details.

Files changed (57) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG.rdoc +30 -4
  3. data/EXAMPLES.rdoc +2 -2
  4. data/GUIDE.rdoc +13 -13
  5. data/Manifest.txt +30 -0
  6. data/README.rdoc +19 -2
  7. data/lib/mechanize.rb +30 -7
  8. data/lib/mechanize/chunked_termination_error.rb +7 -0
  9. data/lib/mechanize/form.rb +7 -5
  10. data/lib/mechanize/form/radio_button.rb +14 -0
  11. data/lib/mechanize/http/agent.rb +54 -24
  12. data/lib/mechanize/http/auth_store.rb +6 -0
  13. data/lib/mechanize/http/content_disposition_parser.rb +1 -1
  14. data/lib/mechanize/monkey_patch.rb +3 -2
  15. data/lib/mechanize/page.rb +0 -2
  16. data/lib/mechanize/parser.rb +2 -2
  17. data/lib/mechanize/test_case.rb +70 -435
  18. data/lib/mechanize/test_case/.document +1 -0
  19. data/lib/mechanize/test_case/bad_chunking_servlet.rb +14 -0
  20. data/lib/mechanize/test_case/basic_auth_servlet.rb +24 -0
  21. data/lib/mechanize/test_case/content_type_servlet.rb +8 -0
  22. data/lib/mechanize/test_case/digest_auth_servlet.rb +33 -0
  23. data/lib/mechanize/test_case/file_upload_servlet.rb +20 -0
  24. data/lib/mechanize/test_case/form_servlet.rb +55 -0
  25. data/lib/mechanize/test_case/gzip_servlet.rb +32 -0
  26. data/lib/mechanize/test_case/header_servlet.rb +14 -0
  27. data/lib/mechanize/test_case/http_refresh_servlet.rb +9 -0
  28. data/lib/mechanize/test_case/infinite_redirect_servlet.rb +10 -0
  29. data/lib/mechanize/test_case/infinite_refresh_servlet.rb +10 -0
  30. data/lib/mechanize/test_case/many_cookies_as_string_servlet.rb +37 -0
  31. data/lib/mechanize/test_case/many_cookies_servlet.rb +33 -0
  32. data/lib/mechanize/test_case/modified_since_servlet.rb +21 -0
  33. data/lib/mechanize/test_case/ntlm_servlet.rb +30 -0
  34. data/lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb +11 -0
  35. data/lib/mechanize/test_case/one_cookie_servlet.rb +11 -0
  36. data/lib/mechanize/test_case/quoted_value_cookie_servlet.rb +11 -0
  37. data/lib/mechanize/test_case/redirect_servlet.rb +13 -0
  38. data/lib/mechanize/test_case/referer_servlet.rb +12 -0
  39. data/lib/mechanize/test_case/refresh_with_empty_url.rb +15 -0
  40. data/lib/mechanize/test_case/refresh_without_url.rb +14 -0
  41. data/lib/mechanize/test_case/response_code_servlet.rb +15 -0
  42. data/lib/mechanize/test_case/send_cookies_servlet.rb +19 -0
  43. data/lib/mechanize/test_case/server.rb +36 -0
  44. data/lib/mechanize/test_case/servlets.rb +55 -0
  45. data/lib/mechanize/test_case/verb_servlet.rb +11 -0
  46. data/test/test_mechanize.rb +12 -12
  47. data/test/test_mechanize_file.rb +11 -0
  48. data/test/test_mechanize_file_response.rb +23 -0
  49. data/test/test_mechanize_form.rb +34 -0
  50. data/test/test_mechanize_form_radio_button.rb +19 -2
  51. data/test/test_mechanize_http_agent.rb +104 -26
  52. data/test/test_mechanize_http_auth_store.rb +23 -0
  53. data/test/test_mechanize_http_content_disposition_parser.rb +6 -0
  54. data/test/test_mechanize_page.rb +3 -5
  55. data/test/test_mechanize_page_link.rb +0 -32
  56. metadata +39 -8
  57. metadata.gz.sig +2 -2
@@ -57,6 +57,18 @@ class TestMechanizeHttpAuthStore < Mechanize::TestCase
57
57
  assert_equal expected, @store.auth_accounts
58
58
  end
59
59
 
60
+ def test_add_auth_string
61
+ @store.add_auth "#{@uri}/path", 'user', 'pass'
62
+
63
+ expected = {
64
+ @uri => {
65
+ nil => ['user', 'pass', nil],
66
+ }
67
+ }
68
+
69
+ assert_equal expected, @store.auth_accounts
70
+ end
71
+
60
72
  def test_add_default_auth
61
73
  _, err = capture_io do
62
74
  @store.add_default_auth 'user', 'pass'
@@ -88,6 +100,7 @@ class TestMechanizeHttpAuthStore < Mechanize::TestCase
88
100
  @store.add_auth @uri, 'user', 'pass'
89
101
 
90
102
  assert @store.credentials? @uri, challenges
103
+ assert @store.credentials? "#{@uri}/path", challenges
91
104
  end
92
105
 
93
106
  def test_credentials_for
@@ -96,6 +109,8 @@ class TestMechanizeHttpAuthStore < Mechanize::TestCase
96
109
  @store.add_auth @uri, 'user', 'pass', 'realm'
97
110
 
98
111
  assert_equal ['user', 'pass', nil], @store.credentials_for(@uri, 'realm')
112
+ assert_equal ['user', 'pass', nil],
113
+ @store.credentials_for(@uri.to_s, 'realm')
99
114
  assert_nil @store.credentials_for(@uri, 'other')
100
115
  end
101
116
 
@@ -168,5 +183,13 @@ class TestMechanizeHttpAuthStore < Mechanize::TestCase
168
183
  assert_equal expected, @store.auth_accounts
169
184
  end
170
185
 
186
+ def test_remove_auth_string
187
+ @store.add_auth @uri, 'user1', 'pass'
188
+
189
+ @store.remove_auth "#{@uri}/path"
190
+
191
+ assert_empty @store.auth_accounts
192
+ end
193
+
171
194
  end
172
195
 
@@ -52,6 +52,12 @@ class TestMechanizeHttpContentDispositionParser < Mechanize::TestCase
52
52
  assert_equal 'value', content_disposition.filename
53
53
  end
54
54
 
55
+ def test_parse_quoted_size
56
+ content_disposition = @parser.parse 'size="5"'
57
+
58
+ assert_equal 5, content_disposition.size
59
+ end
60
+
55
61
  def test_rfc_2045_quoted_string
56
62
  @parser.scanner = StringScanner.new '"text"'
57
63
 
@@ -38,12 +38,10 @@ class TestMechanizePage < Mechanize::TestCase
38
38
  'application/xhtml+xmlfu',
39
39
  'fooapplication/xhtml+xml',
40
40
  ].each { |content_type|
41
- e = assert_raises(Mechanize::ContentTypeError, content_type) do
42
- Mechanize::Page.new(URI('http://example/'),
43
- { 'content-type' => content_type }, 'hello', '200')
44
- end
41
+ page = Mechanize::Page.new(URI('http://example/'),
42
+ { 'content-type' => content_type }, 'hello', '200')
45
43
 
46
- assert_equal(content_type, e.content_type, content_type)
44
+ assert_equal(content_type, page.content_type, content_type)
47
45
  }
48
46
  end
49
47
 
@@ -52,38 +52,6 @@ class TestMechanizePageLink < Mechanize::TestCase
52
52
  Mechanize::Page.new @uri, res, body, 200, @mech
53
53
  end
54
54
 
55
- def test_initialize_supported_content_type
56
- page = Mechanize::Page.new nil, 'content-type' => 'application/xhtml+xml'
57
- assert page
58
- assert_equal 'application/xhtml+xml', page.content_type
59
-
60
- page = Mechanize::Page.new nil, 'content-type' => 'text/html'
61
- assert page
62
- assert_equal 'text/html', page.content_type
63
-
64
- page = Mechanize::Page.new nil, 'content-type' => 'application/xhtml+xml;charset=utf-8'
65
- assert page
66
- assert_equal 'application/xhtml+xml;charset=utf-8', page.content_type
67
-
68
- page = Mechanize::Page.new nil, 'content-type' => 'text/html;charset=utf-8'
69
- assert page
70
- assert_equal 'text/html;charset=utf-8', page.content_type
71
- end
72
-
73
- def test_initialize_unsupported_content_type
74
- e = assert_raises Mechanize::ContentTypeError do
75
- Mechanize::Page.new nil, 'content-type' => 'text/plain'
76
- end
77
-
78
- assert_equal 'text/plain', e.content_type
79
-
80
- e = assert_raises Mechanize::ContentTypeError do
81
- Mechanize::Page.new nil, 'content-type' => 'text/plain;charset=utf-8'
82
- end
83
-
84
- assert_equal 'text/plain;charset=utf-8', e.content_type
85
- end
86
-
87
55
  def test_override_content_type
88
56
  page = Mechanize::Page.new nil, {'content-type' => 'text/html'}, WINDOWS_1255
89
57
  assert page
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mechanize
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
- - 4
9
- version: "2.4"
8
+ - 5
9
+ version: "2.5"
10
10
  platform: ruby
11
11
  authors:
12
12
  - Eric Hodel
@@ -39,7 +39,7 @@ cert_chain:
39
39
  U81zGHMUBOvz/VGT6wJwYJ3emS2nfA2NOHFfgA==
40
40
  -----END CERTIFICATE-----
41
41
 
42
- date: 2012-04-21 00:00:00 Z
42
+ date: 2012-05-09 00:00:00 Z
43
43
  dependencies:
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: net-http-digest_auth
@@ -232,11 +232,11 @@ dependencies:
232
232
  requirements:
233
233
  - - ~>
234
234
  - !ruby/object:Gem::Version
235
- hash: 35
235
+ hash: 7
236
236
  segments:
237
- - 2
238
- - 16
239
- version: "2.16"
237
+ - 3
238
+ - 0
239
+ version: "3.0"
240
240
  type: :development
241
241
  version_requirements: *id010
242
242
  description: |-
@@ -277,6 +277,7 @@ files:
277
277
  - examples/spider.rb
278
278
  - examples/wikipedia_links_to_philosophy.rb
279
279
  - lib/mechanize.rb
280
+ - lib/mechanize/chunked_termination_error.rb
280
281
  - lib/mechanize/content_type_error.rb
281
282
  - lib/mechanize/cookie.rb
282
283
  - lib/mechanize/cookie_jar.rb
@@ -330,6 +331,34 @@ files:
330
331
  - lib/mechanize/response_read_error.rb
331
332
  - lib/mechanize/robots_disallowed_error.rb
332
333
  - lib/mechanize/test_case.rb
334
+ - lib/mechanize/test_case/.document
335
+ - lib/mechanize/test_case/bad_chunking_servlet.rb
336
+ - lib/mechanize/test_case/basic_auth_servlet.rb
337
+ - lib/mechanize/test_case/content_type_servlet.rb
338
+ - lib/mechanize/test_case/digest_auth_servlet.rb
339
+ - lib/mechanize/test_case/file_upload_servlet.rb
340
+ - lib/mechanize/test_case/form_servlet.rb
341
+ - lib/mechanize/test_case/gzip_servlet.rb
342
+ - lib/mechanize/test_case/header_servlet.rb
343
+ - lib/mechanize/test_case/http_refresh_servlet.rb
344
+ - lib/mechanize/test_case/infinite_redirect_servlet.rb
345
+ - lib/mechanize/test_case/infinite_refresh_servlet.rb
346
+ - lib/mechanize/test_case/many_cookies_as_string_servlet.rb
347
+ - lib/mechanize/test_case/many_cookies_servlet.rb
348
+ - lib/mechanize/test_case/modified_since_servlet.rb
349
+ - lib/mechanize/test_case/ntlm_servlet.rb
350
+ - lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb
351
+ - lib/mechanize/test_case/one_cookie_servlet.rb
352
+ - lib/mechanize/test_case/quoted_value_cookie_servlet.rb
353
+ - lib/mechanize/test_case/redirect_servlet.rb
354
+ - lib/mechanize/test_case/referer_servlet.rb
355
+ - lib/mechanize/test_case/refresh_with_empty_url.rb
356
+ - lib/mechanize/test_case/refresh_without_url.rb
357
+ - lib/mechanize/test_case/response_code_servlet.rb
358
+ - lib/mechanize/test_case/send_cookies_servlet.rb
359
+ - lib/mechanize/test_case/server.rb
360
+ - lib/mechanize/test_case/servlets.rb
361
+ - lib/mechanize/test_case/verb_servlet.rb
333
362
  - lib/mechanize/unauthorized_error.rb
334
363
  - lib/mechanize/unsupported_scheme_error.rb
335
364
  - lib/mechanize/util.rb
@@ -392,6 +421,7 @@ files:
392
421
  - test/test_mechanize_file.rb
393
422
  - test/test_mechanize_file_connection.rb
394
423
  - test/test_mechanize_file_request.rb
424
+ - test/test_mechanize_file_response.rb
395
425
  - test/test_mechanize_file_saver.rb
396
426
  - test/test_mechanize_form.rb
397
427
  - test/test_mechanize_form_check_box.rb
@@ -475,6 +505,7 @@ test_files:
475
505
  - test/test_mechanize_file.rb
476
506
  - test/test_mechanize_file_connection.rb
477
507
  - test/test_mechanize_file_request.rb
508
+ - test/test_mechanize_file_response.rb
478
509
  - test/test_mechanize_file_saver.rb
479
510
  - test/test_mechanize_form.rb
480
511
  - test/test_mechanize_form_check_box.rb
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- a�i4P!H���]
2
- ���&a��L%\�1w>+A�0��㏤�/�g�ן~J� )N�8�\�4� ���ᬣ����]"��}?�����M�����|=b+������qw‡-V��Ӣ��y
1
+ ymQ� U�{���2#���kX��]�2�!�o��6p]�AA�T(�*���"{�~��t�`���4�t����%
2
+ 0|�d ����ûLzP�$m�.{��T!��8��`�1{ p� bP�1 o�iƾ^��R�z�sgn���P��V��+�)S� ���?,Lӟ�/�:j�/yӜ��#a���5�V�!�;���]�� mI �ۜ ��o���ML�>L��s��d���\�÷@��|"%±%J