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.

Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +16 -0
  3. data/CHANGELOG.rdoc +54 -1
  4. data/Manifest.txt +5 -0
  5. data/README.rdoc +5 -5
  6. data/Rakefile +4 -2
  7. data/lib/mechanize.rb +53 -10
  8. data/lib/mechanize/cookie.rb +8 -2
  9. data/lib/mechanize/cookie_jar.rb +33 -7
  10. data/lib/mechanize/directory_saver.rb +14 -2
  11. data/lib/mechanize/download.rb +2 -0
  12. data/lib/mechanize/element_matcher.rb +17 -6
  13. data/lib/mechanize/file.rb +25 -1
  14. data/lib/mechanize/form.rb +73 -28
  15. data/lib/mechanize/form/field.rb +6 -2
  16. data/lib/mechanize/form/select_list.rb +4 -4
  17. data/lib/mechanize/http/agent.rb +36 -15
  18. data/lib/mechanize/http/auth_challenge.rb +7 -8
  19. data/lib/mechanize/http/content_disposition_parser.rb +1 -1
  20. data/lib/mechanize/http/www_authenticate_parser.rb +9 -4
  21. data/lib/mechanize/page.rb +38 -12
  22. data/lib/mechanize/page/image.rb +1 -1
  23. data/lib/mechanize/parser.rb +12 -3
  24. data/lib/mechanize/pluggable_parsers.rb +8 -3
  25. data/lib/mechanize/test_case.rb +13 -0
  26. data/lib/mechanize/test_case/digest_auth_servlet.rb +4 -4
  27. data/lib/mechanize/util.rb +2 -2
  28. data/lib/mechanize/xml_file.rb +47 -0
  29. data/test/htdocs/tc_follow_meta_loop_1.html +8 -0
  30. data/test/htdocs/tc_follow_meta_loop_2.html +8 -0
  31. data/test/test_mechanize.rb +66 -12
  32. data/test/test_mechanize_cookie.rb +34 -0
  33. data/test/test_mechanize_cookie_jar.rb +67 -1
  34. data/test/test_mechanize_directory_saver.rb +10 -0
  35. data/test/test_mechanize_file.rb +22 -4
  36. data/test/test_mechanize_form.rb +14 -0
  37. data/test/test_mechanize_form_field.rb +14 -0
  38. data/test/test_mechanize_form_multi_select_list.rb +9 -0
  39. data/test/test_mechanize_form_option.rb +4 -0
  40. data/test/test_mechanize_form_select_list.rb +4 -0
  41. data/test/test_mechanize_http_agent.rb +59 -11
  42. data/test/test_mechanize_http_auth_challenge.rb +1 -1
  43. data/test/test_mechanize_http_content_disposition_parser.rb +8 -0
  44. data/test/test_mechanize_http_www_authenticate_parser.rb +29 -12
  45. data/test/test_mechanize_page.rb +58 -0
  46. data/test/test_mechanize_page_encoding.rb +1 -1
  47. data/test/test_mechanize_page_image.rb +2 -1
  48. data/test/test_mechanize_pluggable_parser.rb +4 -4
  49. data/test/test_mechanize_xml_file.rb +29 -0
  50. metadata +173 -229
  51. data.tar.gz.sig +0 -0
  52. metadata.gz.sig +0 -0
@@ -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/tenderlove/mechanize/issues/143
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 "http://example/a.jpg", img('src' => @src).url
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
- assert_nil @pp['text/xml']
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
- assert_nil @pp['text/xml']
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
- hash: 25
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
- -----BEGIN CERTIFICATE-----
22
- MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
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
- prerelease: false
48
- requirement: &id001 !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
51
21
  - - ~>
52
- - !ruby/object:Gem::Version
53
- hash: 13
54
- segments:
55
- - 1
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
- requirement: &id002 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
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
- hash: 9
77
- segments:
78
- - 2
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
- requirement: &id003 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
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
- hash: 45
100
- segments:
101
- - 1
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
- requirement: &id004 !ruby/object:Gem::Requirement
118
- none: false
119
- requirements:
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
- hash: 7
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
- requirement: &id005 !ruby/object:Gem::Requirement
133
- none: false
134
- requirements:
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
- hash: 9
138
- segments:
139
- - 0
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
- requirement: &id006 !ruby/object:Gem::Requirement
156
- none: false
157
- requirements:
103
+ version_requirements: !ruby/object:Gem::Requirement
104
+ requirements:
158
105
  - - ~>
159
- - !ruby/object:Gem::Version
160
- hash: 11
161
- segments:
162
- - 0
163
- - 0
164
- version: "0.0"
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 13
168
- segments:
169
- - 0
170
- - 0
171
- - 9
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
- requirement: &id007 !ruby/object:Gem::Requirement
179
- none: false
180
- requirements:
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
- hash: 1
184
- segments:
185
- - 0
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
- requirement: &id008 !ruby/object:Gem::Requirement
202
- none: false
203
- requirements:
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
- hash: 21
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
- requirement: &id009 !ruby/object:Gem::Requirement
217
- none: false
218
- requirements:
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
- hash: 19
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
- requirement: &id010 !ruby/object:Gem::Requirement
232
- none: false
233
- requirements:
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
234
176
  - - ~>
235
- - !ruby/object:Gem::Version
236
- hash: 7
237
- segments:
238
- - 3
239
- - 0
240
- version: "3.0"
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
- version_requirements: *id010
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
- none: false
475
- requirements:
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
- none: false
486
- requirements:
487
- - - ">="
488
- - !ruby/object:Gem::Version
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: 1.8.21
439
+ rubygems_version: 2.0.3
497
440
  signing_key:
498
- specification_version: 3
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