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.
Potentially problematic release.
This version of mechanize might be problematic. Click here for more details.
- 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
|