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.
- data.tar.gz.sig +0 -0
- data/CHANGELOG.rdoc +30 -4
- data/EXAMPLES.rdoc +2 -2
- data/GUIDE.rdoc +13 -13
- data/Manifest.txt +30 -0
- data/README.rdoc +19 -2
- data/lib/mechanize.rb +30 -7
- data/lib/mechanize/chunked_termination_error.rb +7 -0
- data/lib/mechanize/form.rb +7 -5
- data/lib/mechanize/form/radio_button.rb +14 -0
- data/lib/mechanize/http/agent.rb +54 -24
- data/lib/mechanize/http/auth_store.rb +6 -0
- data/lib/mechanize/http/content_disposition_parser.rb +1 -1
- data/lib/mechanize/monkey_patch.rb +3 -2
- data/lib/mechanize/page.rb +0 -2
- data/lib/mechanize/parser.rb +2 -2
- data/lib/mechanize/test_case.rb +70 -435
- data/lib/mechanize/test_case/.document +1 -0
- data/lib/mechanize/test_case/bad_chunking_servlet.rb +14 -0
- data/lib/mechanize/test_case/basic_auth_servlet.rb +24 -0
- data/lib/mechanize/test_case/content_type_servlet.rb +8 -0
- data/lib/mechanize/test_case/digest_auth_servlet.rb +33 -0
- data/lib/mechanize/test_case/file_upload_servlet.rb +20 -0
- data/lib/mechanize/test_case/form_servlet.rb +55 -0
- data/lib/mechanize/test_case/gzip_servlet.rb +32 -0
- data/lib/mechanize/test_case/header_servlet.rb +14 -0
- data/lib/mechanize/test_case/http_refresh_servlet.rb +9 -0
- data/lib/mechanize/test_case/infinite_redirect_servlet.rb +10 -0
- data/lib/mechanize/test_case/infinite_refresh_servlet.rb +10 -0
- data/lib/mechanize/test_case/many_cookies_as_string_servlet.rb +37 -0
- data/lib/mechanize/test_case/many_cookies_servlet.rb +33 -0
- data/lib/mechanize/test_case/modified_since_servlet.rb +21 -0
- data/lib/mechanize/test_case/ntlm_servlet.rb +30 -0
- data/lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb +11 -0
- data/lib/mechanize/test_case/one_cookie_servlet.rb +11 -0
- data/lib/mechanize/test_case/quoted_value_cookie_servlet.rb +11 -0
- data/lib/mechanize/test_case/redirect_servlet.rb +13 -0
- data/lib/mechanize/test_case/referer_servlet.rb +12 -0
- data/lib/mechanize/test_case/refresh_with_empty_url.rb +15 -0
- data/lib/mechanize/test_case/refresh_without_url.rb +14 -0
- data/lib/mechanize/test_case/response_code_servlet.rb +15 -0
- data/lib/mechanize/test_case/send_cookies_servlet.rb +19 -0
- data/lib/mechanize/test_case/server.rb +36 -0
- data/lib/mechanize/test_case/servlets.rb +55 -0
- data/lib/mechanize/test_case/verb_servlet.rb +11 -0
- data/test/test_mechanize.rb +12 -12
- data/test/test_mechanize_file.rb +11 -0
- data/test/test_mechanize_file_response.rb +23 -0
- data/test/test_mechanize_form.rb +34 -0
- data/test/test_mechanize_form_radio_button.rb +19 -2
- data/test/test_mechanize_http_agent.rb +104 -26
- data/test/test_mechanize_http_auth_store.rb +23 -0
- data/test/test_mechanize_http_content_disposition_parser.rb +6 -0
- data/test/test_mechanize_page.rb +3 -5
- data/test/test_mechanize_page_link.rb +0 -32
- metadata +39 -8
- 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
|
|
data/test/test_mechanize_page.rb
CHANGED
@@ -38,12 +38,10 @@ class TestMechanizePage < Mechanize::TestCase
|
|
38
38
|
'application/xhtml+xmlfu',
|
39
39
|
'fooapplication/xhtml+xml',
|
40
40
|
].each { |content_type|
|
41
|
-
|
42
|
-
|
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,
|
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:
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: "2.
|
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-
|
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:
|
235
|
+
hash: 7
|
236
236
|
segments:
|
237
|
-
-
|
238
|
-
-
|
239
|
-
version: "
|
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
|
-
|
2
|
-
|
1
|
+
ymQ� U�{���2#���kX��]�2�!�o��6p]�AA�T(�*���"{�~��t�`���4�t����%
|
2
|
+
0|�d����ûL�zP�$m�.{��T!��8��`�1{ p�b�P�1o�iƾ^��R�z�sgn���P��V��+�)S����?,Lӟ�/�:j�/yӜ��#a���5�V�!�;���]��mI�ۜ��o���ML�>L��s��d���\�÷@��|"%±%J
|