mechanize 0.8.4 → 0.8.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/EXAMPLES.txt +1 -1
- data/GUIDE.txt +11 -12
- data/History.txt +24 -0
- data/Manifest.txt +2 -1
- data/README.txt +1 -1
- data/Rakefile +2 -2
- data/lib/www/mechanize.rb +43 -11
- data/lib/www/mechanize/chain/header_resolver.rb +1 -1
- data/lib/www/mechanize/chain/request_resolver.rb +4 -0
- data/lib/www/mechanize/chain/response_body_parser.rb +1 -1
- data/lib/www/mechanize/chain/response_reader.rb +1 -1
- data/lib/www/mechanize/chain/ssl_resolver.rb +1 -1
- data/lib/www/mechanize/chain/uri_resolver.rb +21 -9
- data/lib/www/mechanize/cookie_jar.rb +11 -6
- data/lib/www/mechanize/file_response.rb +2 -0
- data/lib/www/mechanize/form.rb +33 -13
- data/lib/www/mechanize/form/multi_select_list.rb +2 -2
- data/lib/www/mechanize/form/radio_button.rb +1 -1
- data/lib/www/mechanize/list.rb +15 -38
- data/lib/www/mechanize/page.rb +17 -10
- data/lib/www/mechanize/page/link.rb +2 -2
- data/lib/www/mechanize/redirect_not_get_or_head_error.rb +20 -0
- data/test/helper.rb +4 -0
- data/test/htdocs/relative/tc_relative_links.html +1 -0
- data/test/servlets.rb +38 -8
- data/test/test_checkboxes.rb +14 -15
- data/test/test_cookie_class.rb +5 -4
- data/test/test_cookie_jar.rb +29 -0
- data/test/test_encoded_links.rb +1 -1
- data/test/test_errors.rb +1 -1
- data/test/test_follow_meta.rb +50 -6
- data/test/test_form_as_hash.rb +5 -5
- data/test/test_forms.rb +28 -27
- data/test/test_links.rb +22 -16
- data/test/test_mech.rb +24 -7
- data/test/test_multi_select.rb +27 -27
- data/test/test_pluggable_parser.rb +4 -4
- data/test/test_radiobutton.rb +35 -42
- data/test/test_redirect_verb_handling.rb +45 -0
- data/test/test_referer.rb +1 -1
- data/test/test_relative_links.rb +4 -4
- data/test/test_scheme.rb +4 -0
- data/test/test_select.rb +15 -15
- 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 +4 -4
- data/test/test_textarea.rb +13 -13
- data/test/test_upload.rb +1 -1
- metadata +10 -6
- data/NOTES.txt +0 -318
@@ -57,8 +57,8 @@ class PluggableParserTest < Test::Unit::TestCase
|
|
57
57
|
page = @agent.get("http://localhost/find_link.html")
|
58
58
|
assert_kind_of(Filter, page)
|
59
59
|
assert_equal(19, page.links.length)
|
60
|
-
assert_not_nil(page.
|
61
|
-
assert_equal(1, page.
|
60
|
+
assert_not_nil(page.link_with(:text => 'Net::DAAP::Client'))
|
61
|
+
assert_equal(1, page.links_with(:text => 'Net::DAAP::Client').length)
|
62
62
|
end
|
63
63
|
|
64
64
|
def test_filter_hash
|
@@ -68,8 +68,8 @@ class PluggableParserTest < Test::Unit::TestCase
|
|
68
68
|
assert_equal(Filter, @agent.pluggable_parser['text/html'])
|
69
69
|
assert_kind_of(Filter, page)
|
70
70
|
assert_equal(19, page.links.length)
|
71
|
-
assert_not_nil(page.
|
72
|
-
assert_equal(1, page.
|
71
|
+
assert_not_nil(page.link_with(:text => 'Net::DAAP::Client'))
|
72
|
+
assert_equal(1, page.links_with(:text => 'Net::DAAP::Client').length)
|
73
73
|
end
|
74
74
|
|
75
75
|
def test_file_saver
|
data/test/test_radiobutton.rb
CHANGED
@@ -6,65 +6,58 @@ class TestRadioButtons < Test::Unit::TestCase
|
|
6
6
|
@page = @agent.get("http://localhost/tc_radiobuttons.html")
|
7
7
|
end
|
8
8
|
|
9
|
-
def test_select_one
|
10
|
-
form = @page.forms.first
|
11
|
-
button = form.radiobuttons.name('color')
|
12
|
-
form.radiobuttons.name('color').value('green').check
|
13
|
-
assert_equal(true, button.value('green').checked)
|
14
|
-
assert_equal(false, button.value('red').checked)
|
15
|
-
assert_equal(false, button.value('blue').checked)
|
16
|
-
assert_equal(false, button.value('yellow').checked)
|
17
|
-
assert_equal(false, button.value('brown').checked)
|
18
|
-
end
|
19
|
-
|
20
9
|
def test_select_all
|
21
10
|
form = @page.forms.first
|
22
|
-
|
23
|
-
form.radiobuttons.name('color').each do |b|
|
11
|
+
form.radiobuttons_with(:name => 'color').each do |b|
|
24
12
|
b.check
|
25
13
|
end
|
26
|
-
form.
|
27
|
-
|
28
|
-
assert_equal(
|
29
|
-
|
30
|
-
|
31
|
-
|
14
|
+
form.radiobutton_with(:name => 'color', :value => 'green').check
|
15
|
+
|
16
|
+
assert_equal(true, form.radiobutton_with( :name => 'color',
|
17
|
+
:value => 'green').checked)
|
18
|
+
|
19
|
+
%w{ red blue yellow brown }.each do |button_value|
|
20
|
+
assert_equal(false, form.radiobutton_with( :name => 'color',
|
21
|
+
:value => button_value
|
22
|
+
).checked)
|
23
|
+
end
|
32
24
|
end
|
33
25
|
|
34
26
|
def test_unselect_all
|
35
27
|
form = @page.forms.first
|
36
|
-
|
37
|
-
form.radiobuttons.name('color').each do |b|
|
28
|
+
form.radiobuttons_with(:name => 'color').each do |b|
|
38
29
|
b.uncheck
|
39
30
|
end
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
31
|
+
%w{ green red blue yellow brown }.each do |button_value|
|
32
|
+
assert_equal(false, form.radiobutton_with( :name => 'color',
|
33
|
+
:value => button_value
|
34
|
+
).checked)
|
35
|
+
end
|
45
36
|
end
|
46
37
|
|
47
38
|
def test_click_one
|
48
39
|
form = @page.forms.first
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
40
|
+
form.radiobutton_with(:name => 'color', :value => 'green').click
|
41
|
+
|
42
|
+
assert form.radiobutton_with(:name => 'color', :value => 'green').checked
|
43
|
+
|
44
|
+
%w{ red blue yellow brown }.each do |button_value|
|
45
|
+
assert_equal(false, form.radiobutton_with( :name => 'color',
|
46
|
+
:value => button_value
|
47
|
+
).checked)
|
48
|
+
end
|
56
49
|
end
|
57
50
|
|
58
51
|
def test_click_twice
|
59
52
|
form = @page.forms.first
|
60
|
-
|
61
|
-
form.
|
62
|
-
|
63
|
-
form.
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
53
|
+
form.radiobutton_with(:name => 'color', :value => 'green').click
|
54
|
+
assert form.radiobutton_with(:name => 'color', :value => 'green').checked
|
55
|
+
|
56
|
+
form.radiobutton_with(:name => 'color', :value => 'green').click
|
57
|
+
%w{ green red blue yellow brown }.each do |button_value|
|
58
|
+
assert_equal(false, form.radiobutton_with( :name => 'color',
|
59
|
+
:value => button_value
|
60
|
+
).checked)
|
61
|
+
end
|
69
62
|
end
|
70
63
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
2
|
+
|
3
|
+
class TestRedirectNotGetOrHead < Test::Unit::TestCase
|
4
|
+
include WWW
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@agent = WWW::Mechanize.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_to_s
|
11
|
+
page = MechTestHelper.fake_page(@agent)
|
12
|
+
error = Mechanize::RedirectNotGetOrHeadError.new(page, :put)
|
13
|
+
assert_match(/put/, error.to_s)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_head_redirect_results_in_head_request
|
17
|
+
page = @agent.head('http://localhost/redirect')
|
18
|
+
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
19
|
+
assert_equal(page.body, "method: HEAD")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_get_redirect_results_in_get_request
|
23
|
+
page = @agent.get('http://localhost/redirect')
|
24
|
+
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
25
|
+
assert_equal(page.body, "method: GET")
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_post_redirect_results_in_get_request
|
29
|
+
page = @agent.post('http://localhost/redirect')
|
30
|
+
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
31
|
+
assert_equal(page.body, "method: GET")
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_put_redirect_results_in_get_request
|
35
|
+
page = @agent.put('http://localhost/redirect')
|
36
|
+
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
37
|
+
assert_equal(page.body, "method: GET")
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_delete_redirect_results_in_get_request
|
41
|
+
page = @agent.delete('http://localhost/redirect')
|
42
|
+
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
43
|
+
assert_equal(page.body, "method: GET")
|
44
|
+
end
|
45
|
+
end
|
data/test/test_referer.rb
CHANGED
@@ -26,7 +26,7 @@ class RefererTest < Test::Unit::TestCase
|
|
26
26
|
def test_fetch_two_first
|
27
27
|
page1 = @agent.get("http://localhost/tc_referer.html")
|
28
28
|
page2 = @agent.get("http://localhost/tc_pretty_print.html")
|
29
|
-
page = @agent.click page1.links
|
29
|
+
page = @agent.click page1.links.first
|
30
30
|
assert_equal("http://localhost/tc_referer.html", page.body)
|
31
31
|
end
|
32
32
|
|
data/test/test_relative_links.rb
CHANGED
@@ -13,7 +13,7 @@ class TestRelativeLinks < Test::Unit::TestCase
|
|
13
13
|
|
14
14
|
def test_too_many_dots
|
15
15
|
@page = @agent.get("http://localhost/relative/tc_relative_links.html")
|
16
|
-
page = @page.
|
16
|
+
page = @page.link_with(:text => 'too many dots').click
|
17
17
|
assert_not_nil(page)
|
18
18
|
assert_equal('http://localhost/tc_relative_links.html', page.uri.to_s)
|
19
19
|
end
|
@@ -26,15 +26,15 @@ class TestRelativeLinks < Test::Unit::TestCase
|
|
26
26
|
|
27
27
|
def test_frame_dot_dot_slash
|
28
28
|
@page = @agent.get("http://localhost/relative/tc_relative_links.html")
|
29
|
-
page = @agent.click(@page.
|
29
|
+
page = @agent.click(@page.frame_with(:text => 'frame1'))
|
30
30
|
assert_equal('http://localhost/tc_relative_links.html', @agent.current_page.uri.to_s)
|
31
31
|
end
|
32
32
|
|
33
33
|
def test_frame_forward_back_forward
|
34
34
|
@page = @agent.get("http://localhost/tc_relative_links.html")
|
35
|
-
page1 = @agent.click @page.
|
35
|
+
page1 = @agent.click @page.frame_with(:name => 'frame1')
|
36
36
|
assert_equal('http://localhost/relative/tc_relative_links.html', @agent.current_page.uri.to_s)
|
37
|
-
page2 = @agent.click @page.
|
37
|
+
page2 = @agent.click @page.frame_with(:name => 'frame2')
|
38
38
|
assert_equal('http://localhost/relative/tc_relative_links.html', @agent.current_page.uri.to_s)
|
39
39
|
end
|
40
40
|
end
|
data/test/test_scheme.rb
CHANGED
@@ -3,6 +3,10 @@ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
|
3
3
|
class SchemeTest < Test::Unit::TestCase
|
4
4
|
def setup
|
5
5
|
@agent = WWW::Mechanize.new
|
6
|
+
@agent.log = Class.new(Object) do
|
7
|
+
def method_missing(*args)
|
8
|
+
end
|
9
|
+
end.new
|
6
10
|
end
|
7
11
|
|
8
12
|
def test_file_scheme
|
data/test/test_select.rb
CHANGED
@@ -8,36 +8,36 @@ class SelectTest < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_select_none
|
11
|
-
@form.
|
11
|
+
@form.fields_with(:name => 'list').first.select_none
|
12
12
|
assert_equal('1', @form.list)
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_select_all
|
16
|
-
@form.
|
16
|
+
@form.fields_with(:name => 'list').first.select_all
|
17
17
|
assert_equal('6', @form.list)
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_correct_class
|
21
21
|
assert_instance_of(WWW::Mechanize::Form::SelectList,
|
22
|
-
@form.
|
22
|
+
@form.field_with(:name => 'list'))
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_click_all
|
26
|
-
@form.
|
27
|
-
option_list = @form.
|
26
|
+
@form.field_with(:name => 'list').options.each { |o| o.click }
|
27
|
+
option_list = @form.field_with(:name => 'list').options
|
28
28
|
assert_not_nil(option_list)
|
29
29
|
assert_equal(6, option_list.length)
|
30
30
|
assert_equal(option_list.last.value, @form.list)
|
31
31
|
page = @agent.submit(@form)
|
32
32
|
assert_equal(1, page.links.length)
|
33
|
-
assert_equal(1, page.
|
33
|
+
assert_equal(1, page.links_with(:text => "list:#{option_list.last}").length)
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_select_default
|
37
37
|
assert_equal("2", @form.list)
|
38
38
|
page = @agent.submit(@form)
|
39
39
|
assert_equal(1, page.links.length)
|
40
|
-
assert_equal(1, page.
|
40
|
+
assert_equal(1, page.links_with(:text => 'list:2').length)
|
41
41
|
end
|
42
42
|
|
43
43
|
def test_select_one
|
@@ -53,7 +53,7 @@ class SelectTest < Test::Unit::TestCase
|
|
53
53
|
assert_equal('1', @form.list)
|
54
54
|
page = @agent.submit(@form)
|
55
55
|
assert_equal(1, page.links.length)
|
56
|
-
assert_equal(1, page.
|
56
|
+
assert_equal(1, page.links_with(:text => 'list:1').length)
|
57
57
|
end
|
58
58
|
|
59
59
|
def test_select_three
|
@@ -61,7 +61,7 @@ class SelectTest < Test::Unit::TestCase
|
|
61
61
|
assert_equal('1', @form.list)
|
62
62
|
page = @agent.submit(@form)
|
63
63
|
assert_equal(1, page.links.length)
|
64
|
-
assert_equal(1, page.
|
64
|
+
assert_equal(1, page.links_with(:text => 'list:1').length)
|
65
65
|
end
|
66
66
|
|
67
67
|
def test_select_three_twice
|
@@ -70,29 +70,29 @@ class SelectTest < Test::Unit::TestCase
|
|
70
70
|
assert_equal('1', @form.list)
|
71
71
|
page = @agent.submit(@form)
|
72
72
|
assert_equal(1, page.links.length)
|
73
|
-
assert_equal(1, page.
|
73
|
+
assert_equal(1, page.links_with(:text => 'list:1').length)
|
74
74
|
end
|
75
75
|
|
76
76
|
def test_select_with_empty_value
|
77
|
-
list = @form.
|
77
|
+
list = @form.field_with(:name => 'list')
|
78
78
|
list.options.last.instance_variable_set(:@value, '')
|
79
79
|
list.options.last.tick
|
80
80
|
page = @agent.submit(@form)
|
81
81
|
assert_equal(1, page.links.length)
|
82
|
-
assert_equal(1, page.
|
82
|
+
assert_equal(1, page.links_with(:text => 'list:').length)
|
83
83
|
end
|
84
84
|
|
85
85
|
def test_select_with_click
|
86
86
|
@form.list = ['1', 'Aaron']
|
87
|
-
@form.
|
87
|
+
@form.field_with(:name => 'list').options[3].tick
|
88
88
|
assert_equal('4', @form.list)
|
89
89
|
page = @agent.submit(@form)
|
90
90
|
assert_equal(1, page.links.length)
|
91
|
-
assert_equal(1, page.
|
91
|
+
assert_equal(1, page.links_with(:text => 'list:4').length)
|
92
92
|
end
|
93
93
|
|
94
94
|
def test_click_twice
|
95
|
-
list = @form.
|
95
|
+
list = @form.field_with(:name => 'list')
|
96
96
|
list.options[0].click
|
97
97
|
assert_equal('1', @form.list)
|
98
98
|
list.options[1].click
|
data/test/test_select_all.rb
CHANGED
@@ -10,6 +10,6 @@ class SelectAllTest < Test::Unit::TestCase
|
|
10
10
|
assert_equal("6", @form.list)
|
11
11
|
page = @agent.submit(@form)
|
12
12
|
assert_equal(1, page.links.length)
|
13
|
-
assert_equal(1, page.
|
13
|
+
assert_equal(1, page.links_with(:text => 'list:6').length)
|
14
14
|
end
|
15
15
|
end
|
data/test/test_select_none.rb
CHANGED
@@ -10,6 +10,6 @@ class SelectNoneTest < Test::Unit::TestCase
|
|
10
10
|
assert_equal("1", @form.list)
|
11
11
|
page = @agent.submit(@form)
|
12
12
|
assert_equal(1, page.links.length)
|
13
|
-
assert_equal(1, page.
|
13
|
+
assert_equal(1, page.links_with(:text => 'list:1').length)
|
14
14
|
end
|
15
15
|
end
|
data/test/test_select_noopts.rb
CHANGED
@@ -8,7 +8,7 @@ class SelectNoOptionsTest < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_select_default
|
11
|
-
assert_not_nil(@form.
|
11
|
+
assert_not_nil(@form.field('list'))
|
12
12
|
assert_nil(@form.list)
|
13
13
|
page = @agent.submit(@form)
|
14
14
|
assert_equal(0, page.links.length)
|
data/test/test_set_fields.rb
CHANGED
@@ -26,19 +26,19 @@ class TestSetFields < Test::Unit::TestCase
|
|
26
26
|
)
|
27
27
|
assert_equal('male', @form.gender)
|
28
28
|
assert_equal('Aaron', @form.first_name)
|
29
|
-
assert_equal('Ham', @form.
|
29
|
+
assert_equal('Ham', @form.fields_with(:name => 'green[eggs]').first.value)
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_set_multiple_duplicate_fields
|
33
33
|
page = @agent.get("http://localhost/form_multival.html")
|
34
34
|
form = page.form('post_form')
|
35
35
|
form.set_fields( :first => { 0 => 'a', 1 => 'b' } )
|
36
|
-
assert_equal('a', form.
|
37
|
-
assert_equal('b', form.
|
36
|
+
assert_equal('a', form.fields_with(:name => 'first')[0].value)
|
37
|
+
assert_equal('b', form.fields_with(:name => 'first')[1].value)
|
38
38
|
end
|
39
39
|
|
40
40
|
def test_set_second_field
|
41
41
|
@form.set_fields( :first_name => ['Aaron', 1] )
|
42
|
-
assert_equal('Aaron', @form.
|
42
|
+
assert_equal('Aaron', @form.fields_with(:name => 'first_name')[1].value)
|
43
43
|
end
|
44
44
|
end
|
data/test/test_textarea.rb
CHANGED
@@ -7,38 +7,38 @@ class TestTextArea < Test::Unit::TestCase
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_empty_text_area
|
10
|
-
form = @page.
|
11
|
-
assert_equal('', form.
|
10
|
+
form = @page.forms_with(:name => 'form1').first
|
11
|
+
assert_equal('', form.field_with(:name => 'text1').value)
|
12
12
|
form.text1 = 'Hello World'
|
13
|
-
assert_equal('Hello World', form.
|
13
|
+
assert_equal('Hello World', form.field_with(:name => 'text1').value)
|
14
14
|
page = @agent.submit(form)
|
15
15
|
assert_equal(1, page.links.length)
|
16
16
|
assert_equal('text1:Hello World', page.links[0].text)
|
17
17
|
end
|
18
18
|
|
19
19
|
def test_non_empty_textfield
|
20
|
-
form = @page.
|
21
|
-
assert_equal('sample text', form.
|
20
|
+
form = @page.forms_with(:name => 'form2').first
|
21
|
+
assert_equal('sample text', form.field_with(:name => 'text1').value)
|
22
22
|
page = @agent.submit(form)
|
23
23
|
assert_equal(1, page.links.length)
|
24
24
|
assert_equal('text1:sample text', page.links[0].text)
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_multi_textfield
|
28
|
-
form = @page.
|
29
|
-
assert_equal(2, form.
|
30
|
-
assert_equal('', form.
|
31
|
-
assert_equal('sample text', form.
|
28
|
+
form = @page.form_with(:name => 'form3')
|
29
|
+
assert_equal(2, form.fields_with(:name => 'text1').length)
|
30
|
+
assert_equal('', form.fields_with(:name => 'text1')[0].value)
|
31
|
+
assert_equal('sample text', form.fields_with(:name => 'text1')[1].value)
|
32
32
|
form.text1 = 'Hello World'
|
33
|
-
assert_equal('Hello World', form.
|
34
|
-
assert_equal('sample text', form.
|
33
|
+
assert_equal('Hello World', form.fields_with(:name => 'text1')[0].value)
|
34
|
+
assert_equal('sample text', form.fields_with(:name => 'text1')[1].value)
|
35
35
|
page = @agent.submit(form)
|
36
36
|
assert_equal(2, page.links.length)
|
37
|
-
link = page.
|
37
|
+
link = page.links_with(:text => 'text1:sample text')
|
38
38
|
assert_not_nil(link)
|
39
39
|
assert_equal(1, link.length)
|
40
40
|
|
41
|
-
link = page.
|
41
|
+
link = page.links_with(:text => 'text1:Hello World')
|
42
42
|
assert_not_nil(link)
|
43
43
|
assert_equal(1, link.length)
|
44
44
|
end
|
data/test/test_upload.rb
CHANGED
@@ -92,7 +92,7 @@ class UploadMechTest < Test::Unit::TestCase
|
|
92
92
|
|
93
93
|
def test_submit_no_file
|
94
94
|
form = @page.forms.first
|
95
|
-
form.
|
95
|
+
form.field_with(:name => 'name').value = 'Aaron'
|
96
96
|
@page = @agent.submit(form)
|
97
97
|
assert_match('Aaron', @page.body)
|
98
98
|
assert_match(
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mechanize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Patterson
|
8
|
+
- Mike Dalessio
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
|
12
|
-
date: 2008-
|
13
|
+
date: 2008-11-19 00:00:00 -08:00
|
13
14
|
default_executable:
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
@@ -30,10 +31,12 @@ dependencies:
|
|
30
31
|
requirements:
|
31
32
|
- - ">="
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
34
|
+
version: 1.8.2
|
34
35
|
version:
|
35
36
|
description: The Mechanize library is used for automating interaction with websites. Mechanize automatically stores and sends cookies, follows redirects, can follow links, and submit forms. Form fields can be populated and submitted. Mechanize also keeps track of the sites that you have visited as a history.
|
36
|
-
email:
|
37
|
+
email:
|
38
|
+
- aaronp@rubyforge.org
|
39
|
+
- mike.dalessio@gmail.com
|
37
40
|
executables: []
|
38
41
|
|
39
42
|
extensions: []
|
@@ -45,7 +48,6 @@ extra_rdoc_files:
|
|
45
48
|
- History.txt
|
46
49
|
- LICENSE.txt
|
47
50
|
- Manifest.txt
|
48
|
-
- NOTES.txt
|
49
51
|
- README.txt
|
50
52
|
files:
|
51
53
|
- EXAMPLES.txt
|
@@ -54,7 +56,6 @@ files:
|
|
54
56
|
- History.txt
|
55
57
|
- LICENSE.txt
|
56
58
|
- Manifest.txt
|
57
|
-
- NOTES.txt
|
58
59
|
- README.txt
|
59
60
|
- Rakefile
|
60
61
|
- examples/flickr_upload.rb
|
@@ -108,6 +109,7 @@ files:
|
|
108
109
|
- lib/www/mechanize/page/meta.rb
|
109
110
|
- lib/www/mechanize/pluggable_parsers.rb
|
110
111
|
- lib/www/mechanize/redirect_limit_reached_error.rb
|
112
|
+
- lib/www/mechanize/redirect_not_get_or_head_error.rb
|
111
113
|
- lib/www/mechanize/response_code_error.rb
|
112
114
|
- lib/www/mechanize/unsupported_scheme_error.rb
|
113
115
|
- lib/www/mechanize/util.rb
|
@@ -201,6 +203,7 @@ files:
|
|
201
203
|
- test/test_pretty_print.rb
|
202
204
|
- test/test_radiobutton.rb
|
203
205
|
- test/test_redirect_limit_reached.rb
|
206
|
+
- test/test_redirect_verb_handling.rb
|
204
207
|
- test/test_referer.rb
|
205
208
|
- test/test_relative_links.rb
|
206
209
|
- test/test_response_code.rb
|
@@ -286,6 +289,7 @@ test_files:
|
|
286
289
|
- test/test_pretty_print.rb
|
287
290
|
- test/test_radiobutton.rb
|
288
291
|
- test/test_redirect_limit_reached.rb
|
292
|
+
- test/test_redirect_verb_handling.rb
|
289
293
|
- test/test_referer.rb
|
290
294
|
- test/test_relative_links.rb
|
291
295
|
- test/test_response_code.rb
|