tenderlove-mechanize 0.9.3.20090623142847 → 0.9.3.20090911221705
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.
- data/Manifest.txt +55 -48
- data/Rakefile +12 -22
- data/lib/mechanize.rb +618 -4
- data/lib/mechanize/chain.rb +33 -0
- data/lib/mechanize/chain/auth_headers.rb +78 -0
- data/lib/mechanize/chain/body_decoding_handler.rb +46 -0
- data/lib/mechanize/chain/connection_resolver.rb +76 -0
- data/lib/mechanize/chain/custom_headers.rb +21 -0
- data/lib/{www/mechanize → mechanize}/chain/handler.rb +1 -1
- data/lib/mechanize/chain/header_resolver.rb +51 -0
- data/lib/mechanize/chain/parameter_resolver.rb +22 -0
- data/lib/{www/mechanize → mechanize}/chain/post_connect_hook.rb +0 -0
- data/lib/mechanize/chain/pre_connect_hook.rb +20 -0
- data/lib/mechanize/chain/request_resolver.rb +30 -0
- data/lib/mechanize/chain/response_body_parser.rb +38 -0
- data/lib/mechanize/chain/response_header_handler.rb +48 -0
- data/lib/mechanize/chain/response_reader.rb +39 -0
- data/lib/mechanize/chain/ssl_resolver.rb +40 -0
- data/lib/mechanize/chain/uri_resolver.rb +75 -0
- data/lib/mechanize/content_type_error.rb +14 -0
- data/lib/mechanize/cookie.rb +70 -0
- data/lib/mechanize/cookie_jar.rb +188 -0
- data/lib/mechanize/file.rb +71 -0
- data/lib/mechanize/file_response.rb +60 -0
- data/lib/mechanize/file_saver.rb +37 -0
- data/lib/mechanize/form.rb +378 -0
- data/lib/mechanize/form/button.rb +9 -0
- data/lib/mechanize/form/check_box.rb +11 -0
- data/lib/mechanize/form/field.rb +30 -0
- data/lib/mechanize/form/file_upload.rb +22 -0
- data/lib/mechanize/form/image_button.rb +21 -0
- data/lib/mechanize/form/multi_select_list.rb +67 -0
- data/lib/mechanize/form/option.rb +49 -0
- data/lib/mechanize/form/radio_button.rb +49 -0
- data/lib/mechanize/form/select_list.rb +43 -0
- data/lib/mechanize/headers.rb +11 -0
- data/lib/mechanize/history.rb +65 -0
- data/lib/mechanize/inspect.rb +88 -0
- data/lib/{www/mechanize → mechanize}/monkey_patch.rb +4 -6
- data/lib/mechanize/page.rb +206 -0
- data/lib/mechanize/page/base.rb +8 -0
- data/lib/mechanize/page/frame.rb +20 -0
- data/lib/mechanize/page/image.rb +26 -0
- data/lib/mechanize/page/label.rb +20 -0
- data/lib/mechanize/page/link.rb +48 -0
- data/lib/mechanize/page/meta.rb +50 -0
- data/lib/mechanize/pluggable_parsers.rb +101 -0
- data/lib/mechanize/redirect_limit_reached_error.rb +16 -0
- data/lib/mechanize/redirect_not_get_or_head_error.rb +18 -0
- data/lib/mechanize/response_code_error.rb +22 -0
- data/lib/mechanize/unsupported_scheme_error.rb +8 -0
- data/lib/mechanize/util.rb +67 -0
- data/mechanize.gemspec +8 -8
- data/test/chain/test_argument_validator.rb +2 -2
- data/test/chain/test_auth_headers.rb +2 -2
- data/test/chain/test_custom_headers.rb +2 -2
- data/test/chain/test_header_resolver.rb +3 -3
- data/test/chain/test_parameter_resolver.rb +4 -4
- data/test/chain/test_request_resolver.rb +4 -4
- data/test/chain/test_response_reader.rb +3 -3
- data/test/helper.rb +1 -1
- data/test/htdocs/tc_bad_charset.html +9 -0
- data/test/htdocs/tc_charset.html +6 -0
- data/test/htdocs/test_bad_encoding.html +52 -0
- data/test/test_authenticate.rb +3 -3
- data/test/test_bad_links.rb +1 -1
- data/test/test_blank_form.rb +1 -1
- data/test/test_checkboxes.rb +1 -1
- data/test/test_content_type.rb +2 -2
- data/test/test_cookie_class.rb +12 -12
- data/test/test_cookie_jar.rb +13 -13
- data/test/test_cookies.rb +1 -1
- data/test/test_encoded_links.rb +1 -1
- data/test/test_errors.rb +2 -2
- data/test/test_follow_meta.rb +3 -3
- data/test/test_form_action.rb +1 -1
- data/test/test_form_as_hash.rb +1 -1
- data/test/test_form_button.rb +2 -2
- data/test/test_form_no_inputname.rb +1 -1
- data/test/test_forms.rb +1 -1
- data/test/test_frames.rb +1 -1
- data/test/test_get_headers.rb +1 -1
- data/test/test_gzipping.rb +2 -2
- data/test/test_hash_api.rb +1 -1
- data/test/test_history.rb +7 -7
- data/test/test_history_added.rb +1 -1
- data/test/test_html_unscape_forms.rb +7 -7
- data/test/test_if_modified_since.rb +1 -1
- data/test/test_keep_alive.rb +1 -1
- data/test/test_links.rb +2 -2
- data/test/test_mech.rb +2 -2
- data/test/test_mechanize_file.rb +7 -7
- data/test/test_meta.rb +2 -2
- data/test/test_multi_select.rb +1 -1
- data/test/test_no_attributes.rb +1 -1
- data/test/test_option.rb +1 -1
- data/test/test_page.rb +3 -3
- data/test/test_pluggable_parser.rb +14 -14
- data/test/test_post_form.rb +1 -1
- data/test/test_pretty_print.rb +2 -2
- data/test/test_radiobutton.rb +1 -1
- data/test/test_redirect_limit_reached.rb +1 -3
- data/test/test_redirect_verb_handling.rb +1 -3
- data/test/test_referer.rb +1 -1
- data/test/test_relative_links.rb +1 -1
- data/test/test_request.rb +1 -1
- data/test/test_response_code.rb +3 -3
- data/test/test_save_file.rb +3 -3
- data/test/test_scheme.rb +3 -3
- data/test/test_select.rb +2 -2
- data/test/test_select_all.rb +1 -1
- data/test/test_select_none.rb +1 -1
- data/test/test_select_noopts.rb +1 -1
- data/test/test_set_fields.rb +1 -1
- data/test/test_ssl_server.rb +1 -1
- data/test/test_subclass.rb +1 -1
- data/test/test_textarea.rb +1 -1
- data/test/test_upload.rb +1 -1
- data/test/test_verbs.rb +1 -1
- metadata +61 -56
- data/lib/www/mechanize.rb +0 -619
- data/lib/www/mechanize/chain.rb +0 -34
- data/lib/www/mechanize/chain/auth_headers.rb +0 -80
- data/lib/www/mechanize/chain/body_decoding_handler.rb +0 -48
- data/lib/www/mechanize/chain/connection_resolver.rb +0 -78
- data/lib/www/mechanize/chain/custom_headers.rb +0 -23
- data/lib/www/mechanize/chain/header_resolver.rb +0 -53
- data/lib/www/mechanize/chain/parameter_resolver.rb +0 -24
- data/lib/www/mechanize/chain/pre_connect_hook.rb +0 -22
- data/lib/www/mechanize/chain/request_resolver.rb +0 -32
- data/lib/www/mechanize/chain/response_body_parser.rb +0 -40
- data/lib/www/mechanize/chain/response_header_handler.rb +0 -50
- data/lib/www/mechanize/chain/response_reader.rb +0 -41
- data/lib/www/mechanize/chain/ssl_resolver.rb +0 -42
- data/lib/www/mechanize/chain/uri_resolver.rb +0 -77
- data/lib/www/mechanize/content_type_error.rb +0 -16
- data/lib/www/mechanize/cookie.rb +0 -72
- data/lib/www/mechanize/cookie_jar.rb +0 -191
- data/lib/www/mechanize/file.rb +0 -73
- data/lib/www/mechanize/file_response.rb +0 -62
- data/lib/www/mechanize/file_saver.rb +0 -39
- data/lib/www/mechanize/form.rb +0 -360
- data/lib/www/mechanize/form/button.rb +0 -8
- data/lib/www/mechanize/form/check_box.rb +0 -13
- data/lib/www/mechanize/form/field.rb +0 -28
- data/lib/www/mechanize/form/file_upload.rb +0 -24
- data/lib/www/mechanize/form/image_button.rb +0 -23
- data/lib/www/mechanize/form/multi_select_list.rb +0 -69
- data/lib/www/mechanize/form/option.rb +0 -51
- data/lib/www/mechanize/form/radio_button.rb +0 -38
- data/lib/www/mechanize/form/select_list.rb +0 -45
- data/lib/www/mechanize/headers.rb +0 -12
- data/lib/www/mechanize/history.rb +0 -67
- data/lib/www/mechanize/inspect.rb +0 -90
- data/lib/www/mechanize/page.rb +0 -181
- data/lib/www/mechanize/page/base.rb +0 -10
- data/lib/www/mechanize/page/frame.rb +0 -22
- data/lib/www/mechanize/page/link.rb +0 -50
- data/lib/www/mechanize/page/meta.rb +0 -51
- data/lib/www/mechanize/pluggable_parsers.rb +0 -103
- data/lib/www/mechanize/redirect_limit_reached_error.rb +0 -18
- data/lib/www/mechanize/redirect_not_get_or_head_error.rb +0 -20
- data/lib/www/mechanize/response_code_error.rb +0 -25
- data/lib/www/mechanize/unsupported_scheme_error.rb +0 -10
- data/lib/www/mechanize/util.rb +0 -76
data/test/test_cookie_class.rb
CHANGED
@@ -51,7 +51,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
51
51
|
dates.each do |date|
|
52
52
|
cookie = "PREF=1; expires=#{date}"
|
53
53
|
silently do
|
54
|
-
|
54
|
+
Mechanize::Cookie.parse(url, cookie) { |c|
|
55
55
|
assert c.expires, "Tried parsing: #{date}"
|
56
56
|
assert_equal(true, c.expires < yesterday)
|
57
57
|
}
|
@@ -62,7 +62,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
62
62
|
def test_parse_weird_cookie
|
63
63
|
cookie = 'n/a, ASPSESSIONIDCSRRQDQR=FBLDGHPBNDJCPCGNCPAENELB; path=/'
|
64
64
|
url = URI.parse('http://www.searchinnovation.com/')
|
65
|
-
|
65
|
+
Mechanize::Cookie.parse(url, cookie) { |c|
|
66
66
|
assert_equal('ASPSESSIONIDCSRRQDQR', c.name)
|
67
67
|
assert_equal('FBLDGHPBNDJCPCGNCPAENELB', c.value)
|
68
68
|
}
|
@@ -71,7 +71,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
71
71
|
def test_double_semicolon
|
72
72
|
double_semi = 'WSIDC=WEST;; domain=.williams-sonoma.com; path=/'
|
73
73
|
url = URI.parse('http://williams-sonoma.com/')
|
74
|
-
|
74
|
+
Mechanize::Cookie.parse(url, double_semi) { |cookie|
|
75
75
|
assert_equal('WSIDC', cookie.name)
|
76
76
|
assert_equal('WEST', cookie.value)
|
77
77
|
}
|
@@ -80,7 +80,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
80
80
|
def test_parse_bad_version
|
81
81
|
bad_cookie = 'PRETANET=TGIAqbFXtt; Name=/PRETANET; Path=/; Version=1.2; Content-type=text/html; Domain=192.168.6.196; expires=Friday, 13-November-2026 23:01:46 GMT;'
|
82
82
|
url = URI.parse('http://localhost/')
|
83
|
-
|
83
|
+
Mechanize::Cookie.parse(url, bad_cookie) { |cookie|
|
84
84
|
assert_nil(cookie.version)
|
85
85
|
}
|
86
86
|
end
|
@@ -88,7 +88,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
88
88
|
def test_parse_bad_max_age
|
89
89
|
bad_cookie = 'PRETANET=TGIAqbFXtt; Name=/PRETANET; Path=/; Max-Age=1.2; Content-type=text/html; Domain=192.168.6.196; expires=Friday, 13-November-2026 23:01:46 GMT;'
|
90
90
|
url = URI.parse('http://localhost/')
|
91
|
-
|
91
|
+
Mechanize::Cookie.parse(url, bad_cookie) { |cookie|
|
92
92
|
assert_nil(cookie.max_age)
|
93
93
|
}
|
94
94
|
end
|
@@ -103,7 +103,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
103
103
|
silently do
|
104
104
|
dates.each do |date|
|
105
105
|
cookie = "PREF=1; expires=#{date}"
|
106
|
-
|
106
|
+
Mechanize::Cookie.parse(url, cookie) { |c|
|
107
107
|
assert_equal(true, c.expires.nil?)
|
108
108
|
}
|
109
109
|
end
|
@@ -131,7 +131,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
cookie = nil
|
134
|
-
|
134
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
135
135
|
assert_not_nil(cookie)
|
136
136
|
assert_equal('12345%7D=ASDFWEE345%3DASda', cookie.to_s)
|
137
137
|
assert_equal('/', cookie.path)
|
@@ -167,7 +167,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
cookie = nil
|
170
|
-
|
170
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
171
171
|
assert_not_nil(cookie)
|
172
172
|
assert_equal('12345%7D=', cookie.to_s)
|
173
173
|
assert_equal('', cookie.value)
|
@@ -206,7 +206,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
206
206
|
end
|
207
207
|
end
|
208
208
|
cookie = nil
|
209
|
-
|
209
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
210
210
|
assert_not_nil(cookie)
|
211
211
|
assert_equal('12345%7D=ASDFWEE345%3DASda', cookie.to_s)
|
212
212
|
assert_equal('rubyforge.org', cookie.domain)
|
@@ -244,7 +244,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
244
244
|
end
|
245
245
|
end
|
246
246
|
cookie = nil
|
247
|
-
|
247
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
248
248
|
assert_not_nil(cookie)
|
249
249
|
assert_equal('12345%7D=ASDFWEE345%3DASda', cookie.to_s)
|
250
250
|
assert_equal('rubyforge.org', cookie.domain)
|
@@ -283,7 +283,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
283
283
|
end
|
284
284
|
end
|
285
285
|
cookie = nil
|
286
|
-
|
286
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
287
287
|
assert_not_nil(cookie)
|
288
288
|
assert_equal('12345%7D=ASDFWEE345%3DASda', cookie.to_s)
|
289
289
|
assert_equal('/', cookie.path)
|
@@ -320,7 +320,7 @@ class CookieClassTest < Test::Unit::TestCase
|
|
320
320
|
end
|
321
321
|
end
|
322
322
|
cookie = nil
|
323
|
-
|
323
|
+
Mechanize::Cookie.parse(url, cookie_text) { |p_cookie| cookie = p_cookie }
|
324
324
|
assert_not_nil(cookie)
|
325
325
|
assert_equal('12345%7D=ASDFWEE345%3DASda', cookie.to_s)
|
326
326
|
assert_equal('/', cookie.path)
|
data/test/test_cookie_jar.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class CookieJarTest < Test::Unit::TestCase
|
4
4
|
def cookie_from_hash(hash)
|
5
|
-
c =
|
5
|
+
c = Mechanize::Cookie.new(hash[:name], hash[:value])
|
6
6
|
hash.each { |k,v|
|
7
7
|
next if k == :name || k == :value
|
8
8
|
c.send("#{k}=", v)
|
@@ -20,7 +20,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
20
20
|
|
21
21
|
url = URI.parse('http://rubyforge.org/')
|
22
22
|
|
23
|
-
jar =
|
23
|
+
jar = Mechanize::CookieJar.new
|
24
24
|
cookie = cookie_from_hash(values)
|
25
25
|
jar.add(url, cookie)
|
26
26
|
jar.add(url, cookie_from_hash(values.merge(:path => '/onetwo')))
|
@@ -38,7 +38,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
38
38
|
}
|
39
39
|
url = URI.parse('http://rubyforge.org/')
|
40
40
|
|
41
|
-
jar =
|
41
|
+
jar = Mechanize::CookieJar.new
|
42
42
|
assert_equal(0, jar.cookies(url).length)
|
43
43
|
|
44
44
|
# Add one cookie with an expiration date in the future
|
@@ -65,7 +65,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
65
65
|
}
|
66
66
|
url = URI.parse('http://rubyforge.org/')
|
67
67
|
|
68
|
-
jar =
|
68
|
+
jar = Mechanize::CookieJar.new
|
69
69
|
assert_equal(0, jar.cookies(url).length)
|
70
70
|
|
71
71
|
# Add one cookie with an expiration date in the future
|
@@ -92,7 +92,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
92
92
|
}
|
93
93
|
url = URI.parse('http://rubyforge.org/')
|
94
94
|
|
95
|
-
jar =
|
95
|
+
jar = Mechanize::CookieJar.new
|
96
96
|
assert_equal(0, jar.cookies(url).length)
|
97
97
|
|
98
98
|
# Add one cookie with an expiration date in the future
|
@@ -120,7 +120,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
120
120
|
}
|
121
121
|
url = URI.parse('http://rubyforge.org/')
|
122
122
|
|
123
|
-
jar =
|
123
|
+
jar = Mechanize::CookieJar.new
|
124
124
|
assert_equal(0, jar.cookies(url).length)
|
125
125
|
|
126
126
|
# Add one cookie with an expiration date in the future
|
@@ -148,7 +148,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
148
148
|
}
|
149
149
|
url = URI.parse('http://rubyforge.org/')
|
150
150
|
|
151
|
-
jar =
|
151
|
+
jar = Mechanize::CookieJar.new
|
152
152
|
assert_equal(0, jar.cookies(url).length)
|
153
153
|
|
154
154
|
# Add one cookie with an expiration date in the future
|
@@ -171,7 +171,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
171
171
|
}
|
172
172
|
url = URI.parse('http://rubyforge.org/')
|
173
173
|
|
174
|
-
jar =
|
174
|
+
jar = Mechanize::CookieJar.new
|
175
175
|
assert_equal(0, jar.cookies(url).length)
|
176
176
|
|
177
177
|
# Add one cookie with an expiration date in the future
|
@@ -198,7 +198,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
198
198
|
}
|
199
199
|
url = URI.parse('http://rubyforge.org/')
|
200
200
|
|
201
|
-
jar =
|
201
|
+
jar = Mechanize::CookieJar.new
|
202
202
|
assert_equal(0, jar.cookies(url).length)
|
203
203
|
|
204
204
|
# Add one cookie with an expiration date in the future
|
@@ -232,7 +232,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
232
232
|
}
|
233
233
|
url = URI.parse('http://rubyforge.org/')
|
234
234
|
|
235
|
-
jar =
|
235
|
+
jar = Mechanize::CookieJar.new
|
236
236
|
assert_equal(0, jar.cookies(url).length)
|
237
237
|
|
238
238
|
# Add one cookie with an expiration date in the future
|
@@ -276,7 +276,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
276
276
|
}
|
277
277
|
url = URI.parse('http://rubyforge.org/login')
|
278
278
|
|
279
|
-
jar =
|
279
|
+
jar = Mechanize::CookieJar.new
|
280
280
|
assert_equal(0, jar.cookies(url).length)
|
281
281
|
|
282
282
|
# Add one cookie with an expiration date in the future
|
@@ -312,7 +312,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
312
312
|
}
|
313
313
|
url = URI.parse('http://rubyforge.org/')
|
314
314
|
|
315
|
-
jar =
|
315
|
+
jar = Mechanize::CookieJar.new
|
316
316
|
assert_equal(0, jar.cookies(url).length)
|
317
317
|
|
318
318
|
# Add one cookie with an expiration date in the future
|
@@ -347,7 +347,7 @@ class CookieJarTest < Test::Unit::TestCase
|
|
347
347
|
}
|
348
348
|
url = URI.parse('https://rubyforge.org/login')
|
349
349
|
|
350
|
-
jar =
|
350
|
+
jar = Mechanize::CookieJar.new
|
351
351
|
assert_equal(0, jar.cookies(url).length)
|
352
352
|
|
353
353
|
cookie = cookie_from_hash(values)
|
data/test/test_cookies.rb
CHANGED
data/test/test_encoded_links.rb
CHANGED
data/test/test_errors.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class MechErrorsTest < Test::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
@agent =
|
5
|
+
@agent = Mechanize.new
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_bad_form_method
|
@@ -42,7 +42,7 @@ class MechErrorsTest < Test::Unit::TestCase
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_unsupported_scheme
|
45
|
-
assert_raise(
|
45
|
+
assert_raise(Mechanize::UnsupportedSchemeError) {
|
46
46
|
@agent.get('ftp://server.com/foo.html')
|
47
47
|
}
|
48
48
|
end
|
data/test/test_follow_meta.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
|
2
2
|
|
3
3
|
class FollowMetaTest < Test::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
@agent =
|
5
|
+
@agent = Mechanize.new
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_dont_follow_meta_by_default
|
@@ -71,10 +71,10 @@ class FollowMetaTest < Test::Unit::TestCase
|
|
71
71
|
|
72
72
|
def test_infinite_refresh_throws_exception
|
73
73
|
@agent.follow_meta_refresh = true
|
74
|
-
assert_raises(
|
74
|
+
assert_raises(Mechanize::RedirectLimitReachedError) {
|
75
75
|
begin
|
76
76
|
@agent.get('http://localhost/infinite_refresh')
|
77
|
-
rescue
|
77
|
+
rescue Mechanize::RedirectLimitReachedError => ex
|
78
78
|
raise ex
|
79
79
|
end
|
80
80
|
}
|
data/test/test_form_action.rb
CHANGED
data/test/test_form_as_hash.rb
CHANGED
data/test/test_form_button.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class TestFormButtons < Test::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
@agent =
|
5
|
+
@agent = Mechanize.new
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_submit_input_tag
|
@@ -22,7 +22,7 @@ class TestFormButtons < Test::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def assert_form_contains_button(button)
|
25
|
-
page =
|
25
|
+
page = Mechanize::Page.new(nil, html_response, html(button), 200, @agent)
|
26
26
|
assert_equal(1, page.forms.length)
|
27
27
|
assert_equal(1, page.forms.first.buttons.length)
|
28
28
|
end
|
data/test/test_forms.rb
CHANGED
data/test/test_frames.rb
CHANGED
data/test/test_get_headers.rb
CHANGED
data/test/test_gzipping.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class TestGzip < Test::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
@agent =
|
5
|
+
@agent = Mechanize.new
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_request_empty_gzip
|
@@ -16,7 +16,7 @@ class TestGzip < Test::Unit::TestCase
|
|
16
16
|
assert_nothing_raised do
|
17
17
|
page = @agent.get("http://localhost/gzip?file=index.html")
|
18
18
|
end
|
19
|
-
assert_kind_of(
|
19
|
+
assert_kind_of(Mechanize::Page, page)
|
20
20
|
assert_match('Hello World', page.body)
|
21
21
|
end
|
22
22
|
end
|
data/test/test_hash_api.rb
CHANGED
data/test/test_history.rb
CHANGED
@@ -2,8 +2,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class TestHistory < Test::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
@agent =
|
6
|
-
@history =
|
5
|
+
@agent = Mechanize.new
|
6
|
+
@history = Mechanize::History.new
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_push
|
@@ -72,7 +72,7 @@ class TestHistory < Test::Unit::TestCase
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def test_max_size
|
75
|
-
@history =
|
75
|
+
@history = Mechanize::History.new(10)
|
76
76
|
1.upto(20) do |i|
|
77
77
|
page = @agent.get('http://localhost/index.html')
|
78
78
|
@history.push page
|
@@ -110,11 +110,11 @@ class TestHistory < Test::Unit::TestCase
|
|
110
110
|
page = @agent.get('http://localhost')
|
111
111
|
|
112
112
|
node = Struct.new(:href, :inner_text).new('http://localhost/', 'blah')
|
113
|
-
link =
|
113
|
+
link = Mechanize::Page::Link.new(node, nil, nil)
|
114
114
|
assert(@agent.visited?(link))
|
115
115
|
|
116
116
|
node = Struct.new(:href, :inner_text).new('http://localhost', 'blah')
|
117
|
-
link =
|
117
|
+
link = Mechanize::Page::Link.new(node, nil, nil)
|
118
118
|
assert(@agent.visited?(link))
|
119
119
|
end
|
120
120
|
|
@@ -122,11 +122,11 @@ class TestHistory < Test::Unit::TestCase
|
|
122
122
|
page = @agent.get('http://localhost/')
|
123
123
|
|
124
124
|
node = Struct.new(:href, :inner_text).new('http://localhost/', 'blah')
|
125
|
-
link =
|
125
|
+
link = Mechanize::Page::Link.new(node, nil, nil)
|
126
126
|
assert(@agent.visited?(link))
|
127
127
|
|
128
128
|
node = Struct.new(:href, :inner_text).new('http://localhost', 'blah')
|
129
|
-
link =
|
129
|
+
link = Mechanize::Page::Link.new(node, nil, nil)
|
130
130
|
assert(@agent.visited?(link))
|
131
131
|
end
|
132
132
|
|
data/test/test_history_added.rb
CHANGED
@@ -2,37 +2,37 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
2
2
|
|
3
3
|
class TestCheckBoxes < Test::Unit::TestCase
|
4
4
|
def test_field
|
5
|
-
f =
|
5
|
+
f = Mechanize::Form::Field.new('a&b', 'a&b')
|
6
6
|
assert_equal('a&b', f.name)
|
7
7
|
assert_equal('a&b', f.value)
|
8
8
|
|
9
|
-
f =
|
9
|
+
f = Mechanize::Form::Field.new('a&b', 'a&b')
|
10
10
|
assert_equal('a&b', f.name)
|
11
11
|
assert_equal('a&b', f.value)
|
12
12
|
|
13
|
-
f =
|
13
|
+
f = Mechanize::Form::Field.new('a&b', 'a&b')
|
14
14
|
assert_equal('a&b', f.name)
|
15
15
|
assert_equal('a&b', f.value)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_file_upload
|
19
|
-
f =
|
19
|
+
f = Mechanize::Form::FileUpload.new('a&b', 'a&b')
|
20
20
|
assert_equal('a&b', f.name)
|
21
21
|
assert_equal('a&b', f.file_name)
|
22
22
|
|
23
|
-
f =
|
23
|
+
f = Mechanize::Form::FileUpload.new('a&b', 'a&b')
|
24
24
|
assert_equal('a&b', f.name)
|
25
25
|
assert_equal('a&b', f.file_name)
|
26
26
|
end
|
27
27
|
|
28
28
|
def test_image_button
|
29
|
-
f =
|
29
|
+
f = Mechanize::Form::ImageButton.new('a&b', 'a&b')
|
30
30
|
assert_equal('a&b', f.name)
|
31
31
|
assert_equal('a&b', f.value)
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_radio_button
|
35
|
-
f =
|
35
|
+
f = Mechanize::Form::RadioButton.new('a&b', 'a&b', nil, nil, nil)
|
36
36
|
assert_equal('a&b', f.name)
|
37
37
|
assert_equal('a&b', f.value)
|
38
38
|
end
|