mechanize 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.travis.yml +16 -0
- data/CHANGELOG.rdoc +54 -1
- data/Manifest.txt +5 -0
- data/README.rdoc +5 -5
- data/Rakefile +4 -2
- data/lib/mechanize.rb +53 -10
- data/lib/mechanize/cookie.rb +8 -2
- data/lib/mechanize/cookie_jar.rb +33 -7
- data/lib/mechanize/directory_saver.rb +14 -2
- data/lib/mechanize/download.rb +2 -0
- data/lib/mechanize/element_matcher.rb +17 -6
- data/lib/mechanize/file.rb +25 -1
- data/lib/mechanize/form.rb +73 -28
- data/lib/mechanize/form/field.rb +6 -2
- data/lib/mechanize/form/select_list.rb +4 -4
- data/lib/mechanize/http/agent.rb +36 -15
- data/lib/mechanize/http/auth_challenge.rb +7 -8
- data/lib/mechanize/http/content_disposition_parser.rb +1 -1
- data/lib/mechanize/http/www_authenticate_parser.rb +9 -4
- data/lib/mechanize/page.rb +38 -12
- data/lib/mechanize/page/image.rb +1 -1
- data/lib/mechanize/parser.rb +12 -3
- data/lib/mechanize/pluggable_parsers.rb +8 -3
- data/lib/mechanize/test_case.rb +13 -0
- data/lib/mechanize/test_case/digest_auth_servlet.rb +4 -4
- data/lib/mechanize/util.rb +2 -2
- data/lib/mechanize/xml_file.rb +47 -0
- data/test/htdocs/tc_follow_meta_loop_1.html +8 -0
- data/test/htdocs/tc_follow_meta_loop_2.html +8 -0
- data/test/test_mechanize.rb +66 -12
- data/test/test_mechanize_cookie.rb +34 -0
- data/test/test_mechanize_cookie_jar.rb +67 -1
- data/test/test_mechanize_directory_saver.rb +10 -0
- data/test/test_mechanize_file.rb +22 -4
- data/test/test_mechanize_form.rb +14 -0
- data/test/test_mechanize_form_field.rb +14 -0
- data/test/test_mechanize_form_multi_select_list.rb +9 -0
- data/test/test_mechanize_form_option.rb +4 -0
- data/test/test_mechanize_form_select_list.rb +4 -0
- data/test/test_mechanize_http_agent.rb +59 -11
- data/test/test_mechanize_http_auth_challenge.rb +1 -1
- data/test/test_mechanize_http_content_disposition_parser.rb +8 -0
- data/test/test_mechanize_http_www_authenticate_parser.rb +29 -12
- data/test/test_mechanize_page.rb +58 -0
- data/test/test_mechanize_page_encoding.rb +1 -1
- data/test/test_mechanize_page_image.rb +2 -1
- data/test/test_mechanize_pluggable_parser.rb +4 -4
- data/test/test_mechanize_xml_file.rb +29 -0
- metadata +173 -229
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/test/test_mechanize_page.rb
CHANGED
|
@@ -143,5 +143,63 @@ class TestMechanizePage < Mechanize::TestCase
|
|
|
143
143
|
assert_kind_of Nokogiri::HTML::Document, page.root
|
|
144
144
|
end
|
|
145
145
|
|
|
146
|
+
def test_search_links
|
|
147
|
+
page = html_page <<-BODY
|
|
148
|
+
<html>
|
|
149
|
+
<meta>
|
|
150
|
+
<head><title></title>
|
|
151
|
+
<body>
|
|
152
|
+
<span id="spany">
|
|
153
|
+
<a href="b.html">b</a>
|
|
154
|
+
<a href="a.html">a</a>
|
|
155
|
+
</span>
|
|
156
|
+
<a href="6.html">6</a>
|
|
157
|
+
</body>
|
|
158
|
+
</html>
|
|
159
|
+
BODY
|
|
160
|
+
|
|
161
|
+
links = page.links_with(:search => "#spany a")
|
|
162
|
+
|
|
163
|
+
assert_equal 2, links.size
|
|
164
|
+
assert_equal "b.html", links[0].href
|
|
165
|
+
assert_equal "b", links[0].text
|
|
166
|
+
|
|
167
|
+
assert_equal "a.html", links[1].href
|
|
168
|
+
assert_equal "a", links[1].text
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def test_search_images
|
|
172
|
+
page = html_page <<-BODY
|
|
173
|
+
<html>
|
|
174
|
+
<meta>
|
|
175
|
+
<head><title></title>
|
|
176
|
+
<body>
|
|
177
|
+
<img src="a.jpg" class="pretty">
|
|
178
|
+
<img src="b.jpg">
|
|
179
|
+
<img src="c.png" class="pretty">
|
|
180
|
+
</body>
|
|
181
|
+
</html>
|
|
182
|
+
BODY
|
|
183
|
+
|
|
184
|
+
images = page.images_with(:search => "//img[@class='pretty']")
|
|
185
|
+
|
|
186
|
+
assert_equal 2, images.size
|
|
187
|
+
assert_equal "pretty", images[0].dom_class
|
|
188
|
+
assert_equal "a.jpg", images[0].src
|
|
189
|
+
|
|
190
|
+
assert_equal "pretty", images[1].dom_class
|
|
191
|
+
assert_equal "c.png", images[1].src
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
def test_search_bad_selectors
|
|
195
|
+
page = html_page <<-BODY
|
|
196
|
+
<a href="foo.html">foo</a>
|
|
197
|
+
<img src="foo.jpg" />
|
|
198
|
+
BODY
|
|
199
|
+
|
|
200
|
+
assert_empty page.images_with(:search => '//a')
|
|
201
|
+
assert_empty page.links_with(:search => '//img')
|
|
202
|
+
end
|
|
203
|
+
|
|
146
204
|
end
|
|
147
205
|
|
|
@@ -111,7 +111,7 @@ class TestMechanizePageEncoding < Mechanize::TestCase
|
|
|
111
111
|
assert_empty charsets
|
|
112
112
|
end
|
|
113
113
|
|
|
114
|
-
# Test to fix issue: https://github.com/
|
|
114
|
+
# Test to fix issue: https://github.com/sparklemotion/mechanize/issues/143
|
|
115
115
|
def test_page_meta_charset_handles_whitespace
|
|
116
116
|
body = '<meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1">'
|
|
117
117
|
charsets = Mechanize::Page.meta_charset(body)
|
|
@@ -52,7 +52,8 @@ class TestMechanizePageImage < Mechanize::TestCase
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
def test_url
|
|
55
|
-
assert_equal "
|
|
55
|
+
assert_equal ".jpg", img('src' => @src).extname
|
|
56
|
+
assert_equal "http://example/a.jpg", img('src' => @src).url.to_s
|
|
56
57
|
end
|
|
57
58
|
|
|
58
59
|
def test_url_base
|
|
@@ -29,9 +29,7 @@ class TestMechanizePluggableParser < Mechanize::TestCase
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def test_parser
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
assert_equal Mechanize::File, @pp.parser('text/xml')
|
|
32
|
+
assert_equal Mechanize::XmlFile, @pp.parser('text/xml')
|
|
35
33
|
assert_equal Mechanize::File, @pp.parser(nil)
|
|
36
34
|
end
|
|
37
35
|
|
|
@@ -56,11 +54,13 @@ class TestMechanizePluggableParser < Mechanize::TestCase
|
|
|
56
54
|
end
|
|
57
55
|
|
|
58
56
|
def test_xml
|
|
59
|
-
|
|
57
|
+
assert_equal Mechanize::XmlFile, @pp['text/xml']
|
|
58
|
+
assert_equal Mechanize::XmlFile, @pp['application/xml']
|
|
60
59
|
|
|
61
60
|
@pp.xml = Mechanize::Download
|
|
62
61
|
|
|
63
62
|
assert_equal Mechanize::Download, @pp['text/xml']
|
|
63
|
+
assert_equal Mechanize::Download, @pp['application/xml']
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'mechanize/test_case'
|
|
2
|
+
|
|
3
|
+
class TestMechanizeXmlFile < Mechanize::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
super
|
|
7
|
+
|
|
8
|
+
uri = URI 'http://example.com/foo.xml'
|
|
9
|
+
@xml = Mechanize::XmlFile.new uri, nil, <<-XML
|
|
10
|
+
<languages>
|
|
11
|
+
<language>Ruby</language>
|
|
12
|
+
<language>Perl</language>
|
|
13
|
+
</languages>
|
|
14
|
+
XML
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_xml
|
|
18
|
+
assert_kind_of Nokogiri::XML::Document, @xml.xml
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_search
|
|
22
|
+
assert_equal ['Ruby', 'Perl'], @xml.search('language').map { |n| n.text }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_at
|
|
26
|
+
assert_equal 'Perl', @xml.at('language[2]').text
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
metadata
CHANGED
|
@@ -1,269 +1,219 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mechanize
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 2
|
|
8
|
-
- 5
|
|
9
|
-
- 1
|
|
10
|
-
version: 2.5.1
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 2.6.0
|
|
11
5
|
platform: ruby
|
|
12
|
-
authors:
|
|
6
|
+
authors:
|
|
13
7
|
- Eric Hodel
|
|
14
8
|
- Aaron Patterson
|
|
15
9
|
- Mike Dalessio
|
|
16
10
|
- Akinori MUSHA
|
|
11
|
+
- Lee Jarvis
|
|
17
12
|
autorequire:
|
|
18
13
|
bindir: bin
|
|
19
|
-
cert_chain:
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
|
|
24
|
-
ZXQwHhcNMTIwMjI4MTc1NDI1WhcNMTMwMjI3MTc1NDI1WjBBMRAwDgYDVQQDDAdk
|
|
25
|
-
cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
|
|
26
|
-
FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
|
|
27
|
-
LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
|
|
28
|
-
U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
|
|
29
|
-
Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
|
|
30
|
-
mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
|
|
31
|
-
g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
|
|
32
|
-
sCANiQ8BAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
|
33
|
-
BBS5k4Z75VSpdM0AclG2UvzFA/VW5DAfBgNVHREEGDAWgRRkcmJyYWluQHNlZ21l
|
|
34
|
-
bnQ3Lm5ldDAfBgNVHRIEGDAWgRRkcmJyYWluQHNlZ21lbnQ3Lm5ldDANBgkqhkiG
|
|
35
|
-
9w0BAQUFAAOCAQEAPeWzFnrcvC6eVzdlhmjUub2s6qieBkongKRDHQz5MEeQv4LS
|
|
36
|
-
SARnoHY+uCAVL/1xGAhmpzqQ3fJGWK9eBacW/e8E5GF9xQcV3mE1bA0WNaiDlX5j
|
|
37
|
-
U2aI+ZGSblqvHUCxKBHR1s7UMHsbz1saOmgdRTyPx0juJs68ocbUTeYBLWu9V4KP
|
|
38
|
-
zdGAG2JXO2gONg3b4tYDvpBLbry+KOX27iAJulUaH9TiTOULL4ITJVFsK0mYVqmR
|
|
39
|
-
Q8Tno9S3e4XGGP1ZWfLrTWEJbavFfhGHut2iMRwfC7s/YILAHNATopaJdH9DNpd1
|
|
40
|
-
U81zGHMUBOvz/VGT6wJwYJ3emS2nfA2NOHFfgA==
|
|
41
|
-
-----END CERTIFICATE-----
|
|
42
|
-
|
|
43
|
-
date: 2012-05-15 00:00:00 Z
|
|
44
|
-
dependencies:
|
|
45
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
+
cert_chain: []
|
|
15
|
+
date: 2013-03-20 00:00:00.000000000 Z
|
|
16
|
+
dependencies:
|
|
17
|
+
- !ruby/object:Gem::Dependency
|
|
46
18
|
name: net-http-digest_auth
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
19
|
+
requirement: !ruby/object:Gem::Requirement
|
|
20
|
+
requirements:
|
|
51
21
|
- - ~>
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- 1
|
|
57
|
-
version: "1.1"
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
hash: 17
|
|
61
|
-
segments:
|
|
62
|
-
- 1
|
|
63
|
-
- 1
|
|
64
|
-
- 1
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: '1.1'
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
65
26
|
version: 1.1.1
|
|
66
27
|
type: :runtime
|
|
67
|
-
version_requirements: *id001
|
|
68
|
-
- !ruby/object:Gem::Dependency
|
|
69
|
-
name: net-http-persistent
|
|
70
28
|
prerelease: false
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ~>
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.1'
|
|
34
|
+
- - '>='
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 1.1.1
|
|
37
|
+
- !ruby/object:Gem::Dependency
|
|
38
|
+
name: net-http-persistent
|
|
39
|
+
requirement: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
74
41
|
- - ~>
|
|
75
|
-
- !ruby/object:Gem::Version
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- 5
|
|
80
|
-
version: "2.5"
|
|
81
|
-
- - ">="
|
|
82
|
-
- !ruby/object:Gem::Version
|
|
83
|
-
hash: 31
|
|
84
|
-
segments:
|
|
85
|
-
- 2
|
|
86
|
-
- 5
|
|
87
|
-
- 2
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '2.5'
|
|
44
|
+
- - '>='
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
88
46
|
version: 2.5.2
|
|
89
47
|
type: :runtime
|
|
90
|
-
version_requirements: *id002
|
|
91
|
-
- !ruby/object:Gem::Dependency
|
|
92
|
-
name: mime-types
|
|
93
48
|
prerelease: false
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ~>
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '2.5'
|
|
54
|
+
- - '>='
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: 2.5.2
|
|
57
|
+
- !ruby/object:Gem::Dependency
|
|
58
|
+
name: mime-types
|
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
|
60
|
+
requirements:
|
|
97
61
|
- - ~>
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- 17
|
|
103
|
-
version: "1.17"
|
|
104
|
-
- - ">="
|
|
105
|
-
- !ruby/object:Gem::Version
|
|
106
|
-
hash: 87
|
|
107
|
-
segments:
|
|
108
|
-
- 1
|
|
109
|
-
- 17
|
|
110
|
-
- 2
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
version: '1.17'
|
|
64
|
+
- - '>='
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
111
66
|
version: 1.17.2
|
|
112
67
|
type: :runtime
|
|
113
|
-
version_requirements: *id003
|
|
114
|
-
- !ruby/object:Gem::Dependency
|
|
115
|
-
name: nokogiri
|
|
116
68
|
prerelease: false
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - ~>
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: '1.17'
|
|
74
|
+
- - '>='
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: 1.17.2
|
|
77
|
+
- !ruby/object:Gem::Dependency
|
|
78
|
+
name: nokogiri
|
|
79
|
+
requirement: !ruby/object:Gem::Requirement
|
|
80
|
+
requirements:
|
|
120
81
|
- - ~>
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
|
|
123
|
-
segments:
|
|
124
|
-
- 1
|
|
125
|
-
- 4
|
|
126
|
-
version: "1.4"
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: '1.4'
|
|
127
84
|
type: :runtime
|
|
128
|
-
version_requirements: *id004
|
|
129
|
-
- !ruby/object:Gem::Dependency
|
|
130
|
-
name: ntlm-http
|
|
131
85
|
prerelease: false
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
87
|
+
requirements:
|
|
88
|
+
- - ~>
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '1.4'
|
|
91
|
+
- !ruby/object:Gem::Dependency
|
|
92
|
+
name: ntlm-http
|
|
93
|
+
requirement: !ruby/object:Gem::Requirement
|
|
94
|
+
requirements:
|
|
135
95
|
- - ~>
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
- 1
|
|
141
|
-
version: "0.1"
|
|
142
|
-
- - ">="
|
|
143
|
-
- !ruby/object:Gem::Version
|
|
144
|
-
hash: 25
|
|
145
|
-
segments:
|
|
146
|
-
- 0
|
|
147
|
-
- 1
|
|
148
|
-
- 1
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
version: '0.1'
|
|
98
|
+
- - '>='
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
149
100
|
version: 0.1.1
|
|
150
101
|
type: :runtime
|
|
151
|
-
version_requirements: *id005
|
|
152
|
-
- !ruby/object:Gem::Dependency
|
|
153
|
-
name: webrobots
|
|
154
102
|
prerelease: false
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
requirements:
|
|
103
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
104
|
+
requirements:
|
|
158
105
|
- - ~>
|
|
159
|
-
- !ruby/object:Gem::Version
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
106
|
+
- !ruby/object:Gem::Version
|
|
107
|
+
version: '0.1'
|
|
108
|
+
- - '>='
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 0.1.1
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: webrobots
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - <
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0.2'
|
|
118
|
+
- - '>='
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
172
120
|
version: 0.0.9
|
|
173
121
|
type: :runtime
|
|
174
|
-
version_requirements: *id006
|
|
175
|
-
- !ruby/object:Gem::Dependency
|
|
176
|
-
name: domain_name
|
|
177
122
|
prerelease: false
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
124
|
+
requirements:
|
|
125
|
+
- - <
|
|
126
|
+
- !ruby/object:Gem::Version
|
|
127
|
+
version: '0.2'
|
|
128
|
+
- - '>='
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: 0.0.9
|
|
131
|
+
- !ruby/object:Gem::Dependency
|
|
132
|
+
name: domain_name
|
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
181
135
|
- - ~>
|
|
182
|
-
- !ruby/object:Gem::Version
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
- 5
|
|
187
|
-
version: "0.5"
|
|
188
|
-
- - ">="
|
|
189
|
-
- !ruby/object:Gem::Version
|
|
190
|
-
hash: 9
|
|
191
|
-
segments:
|
|
192
|
-
- 0
|
|
193
|
-
- 5
|
|
194
|
-
- 1
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '0.5'
|
|
138
|
+
- - '>='
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
195
140
|
version: 0.5.1
|
|
196
141
|
type: :runtime
|
|
197
|
-
version_requirements: *id007
|
|
198
|
-
- !ruby/object:Gem::Dependency
|
|
199
|
-
name: minitest
|
|
200
142
|
prerelease: false
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
144
|
+
requirements:
|
|
145
|
+
- - ~>
|
|
146
|
+
- !ruby/object:Gem::Version
|
|
147
|
+
version: '0.5'
|
|
148
|
+
- - '>='
|
|
149
|
+
- !ruby/object:Gem::Version
|
|
150
|
+
version: 0.5.1
|
|
151
|
+
- !ruby/object:Gem::Dependency
|
|
152
|
+
name: minitest
|
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
|
154
|
+
requirements:
|
|
204
155
|
- - ~>
|
|
205
|
-
- !ruby/object:Gem::Version
|
|
206
|
-
|
|
207
|
-
segments:
|
|
208
|
-
- 2
|
|
209
|
-
- 11
|
|
210
|
-
version: "2.11"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '4.6'
|
|
211
158
|
type: :development
|
|
212
|
-
version_requirements: *id008
|
|
213
|
-
- !ruby/object:Gem::Dependency
|
|
214
|
-
name: rdoc
|
|
215
159
|
prerelease: false
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - ~>
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '4.6'
|
|
165
|
+
- !ruby/object:Gem::Dependency
|
|
166
|
+
name: rdoc
|
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
219
169
|
- - ~>
|
|
220
|
-
- !ruby/object:Gem::Version
|
|
221
|
-
|
|
222
|
-
segments:
|
|
223
|
-
- 3
|
|
224
|
-
- 10
|
|
225
|
-
version: "3.10"
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '3.10'
|
|
226
172
|
type: :development
|
|
227
|
-
version_requirements: *id009
|
|
228
|
-
- !ruby/object:Gem::Dependency
|
|
229
|
-
name: hoe
|
|
230
173
|
prerelease: false
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
requirements:
|
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
175
|
+
requirements:
|
|
234
176
|
- - ~>
|
|
235
|
-
- !ruby/object:Gem::Version
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
177
|
+
- !ruby/object:Gem::Version
|
|
178
|
+
version: '3.10'
|
|
179
|
+
- !ruby/object:Gem::Dependency
|
|
180
|
+
name: hoe
|
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
|
182
|
+
requirements:
|
|
183
|
+
- - ~>
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: '3.5'
|
|
241
186
|
type: :development
|
|
242
|
-
|
|
187
|
+
prerelease: false
|
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
189
|
+
requirements:
|
|
190
|
+
- - ~>
|
|
191
|
+
- !ruby/object:Gem::Version
|
|
192
|
+
version: '3.5'
|
|
243
193
|
description: |-
|
|
244
194
|
The Mechanize library is used for automating interaction with websites.
|
|
245
195
|
Mechanize automatically stores and sends cookies, follows redirects,
|
|
246
196
|
and can follow links and submit forms. Form fields can be populated and
|
|
247
197
|
submitted. Mechanize also keeps track of the sites that you have visited as
|
|
248
198
|
a history.
|
|
249
|
-
email:
|
|
199
|
+
email:
|
|
250
200
|
- drbrain@segment7.net
|
|
251
201
|
- aaronp@rubyforge.org
|
|
252
202
|
- mike.dalessio@gmail.com
|
|
253
203
|
- knu@idaemons.org
|
|
204
|
+
- ljjarvis@gmail.com
|
|
254
205
|
executables: []
|
|
255
|
-
|
|
256
206
|
extensions: []
|
|
257
|
-
|
|
258
|
-
extra_rdoc_files:
|
|
207
|
+
extra_rdoc_files:
|
|
259
208
|
- CHANGELOG.rdoc
|
|
260
209
|
- EXAMPLES.rdoc
|
|
261
210
|
- GUIDE.rdoc
|
|
262
211
|
- LICENSE.rdoc
|
|
263
212
|
- Manifest.txt
|
|
264
213
|
- README.rdoc
|
|
265
|
-
files:
|
|
214
|
+
files:
|
|
266
215
|
- .autotest
|
|
216
|
+
- .travis.yml
|
|
267
217
|
- CHANGELOG.rdoc
|
|
268
218
|
- EXAMPLES.rdoc
|
|
269
219
|
- GUIDE.rdoc
|
|
@@ -363,6 +313,7 @@ files:
|
|
|
363
313
|
- lib/mechanize/unauthorized_error.rb
|
|
364
314
|
- lib/mechanize/unsupported_scheme_error.rb
|
|
365
315
|
- lib/mechanize/util.rb
|
|
316
|
+
- lib/mechanize/xml_file.rb
|
|
366
317
|
- test/data/htpasswd
|
|
367
318
|
- test/data/server.crt
|
|
368
319
|
- test/data/server.csr
|
|
@@ -405,6 +356,8 @@ files:
|
|
|
405
356
|
- test/htdocs/tc_encoded_links.html
|
|
406
357
|
- test/htdocs/tc_field_precedence.html
|
|
407
358
|
- test/htdocs/tc_follow_meta.html
|
|
359
|
+
- test/htdocs/tc_follow_meta_loop_1.html
|
|
360
|
+
- test/htdocs/tc_follow_meta_loop_2.html
|
|
408
361
|
- test/htdocs/tc_form_action.html
|
|
409
362
|
- test/htdocs/tc_links.html
|
|
410
363
|
- test/htdocs/tc_meta_in_body.html
|
|
@@ -459,45 +412,35 @@ files:
|
|
|
459
412
|
- test/test_mechanize_response_read_error.rb
|
|
460
413
|
- test/test_mechanize_subclass.rb
|
|
461
414
|
- test/test_mechanize_util.rb
|
|
415
|
+
- test/test_mechanize_xml_file.rb
|
|
462
416
|
- test/test_multi_select.rb
|
|
463
417
|
- .gemtest
|
|
464
418
|
homepage: http://mechanize.rubyforge.org
|
|
465
419
|
licenses: []
|
|
466
|
-
|
|
420
|
+
metadata: {}
|
|
467
421
|
post_install_message:
|
|
468
|
-
rdoc_options:
|
|
422
|
+
rdoc_options:
|
|
469
423
|
- --main
|
|
470
424
|
- README.rdoc
|
|
471
|
-
require_paths:
|
|
425
|
+
require_paths:
|
|
472
426
|
- lib
|
|
473
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
- !ruby/object:Gem::Version
|
|
478
|
-
hash: 57
|
|
479
|
-
segments:
|
|
480
|
-
- 1
|
|
481
|
-
- 8
|
|
482
|
-
- 7
|
|
427
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
428
|
+
requirements:
|
|
429
|
+
- - '>='
|
|
430
|
+
- !ruby/object:Gem::Version
|
|
483
431
|
version: 1.8.7
|
|
484
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
hash: 3
|
|
490
|
-
segments:
|
|
491
|
-
- 0
|
|
492
|
-
version: "0"
|
|
432
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
433
|
+
requirements:
|
|
434
|
+
- - '>='
|
|
435
|
+
- !ruby/object:Gem::Version
|
|
436
|
+
version: '0'
|
|
493
437
|
requirements: []
|
|
494
|
-
|
|
495
438
|
rubyforge_project: mechanize
|
|
496
|
-
rubygems_version:
|
|
439
|
+
rubygems_version: 2.0.3
|
|
497
440
|
signing_key:
|
|
498
|
-
specification_version:
|
|
441
|
+
specification_version: 4
|
|
499
442
|
summary: The Mechanize library is used for automating interaction with websites
|
|
500
|
-
test_files:
|
|
443
|
+
test_files:
|
|
501
444
|
- test/test_mechanize.rb
|
|
502
445
|
- test/test_mechanize_cookie.rb
|
|
503
446
|
- test/test_mechanize_cookie_jar.rb
|
|
@@ -543,4 +486,5 @@ test_files:
|
|
|
543
486
|
- test/test_mechanize_response_read_error.rb
|
|
544
487
|
- test/test_mechanize_subclass.rb
|
|
545
488
|
- test/test_mechanize_util.rb
|
|
489
|
+
- test/test_mechanize_xml_file.rb
|
|
546
490
|
- test/test_multi_select.rb
|