aai10-mechanize 2.0.1.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.
Files changed (176) hide show
  1. data/.autotest +6 -0
  2. data/.gitignore +9 -0
  3. data/CHANGELOG.rdoc +652 -0
  4. data/EXAMPLES.rdoc +187 -0
  5. data/FAQ.rdoc +11 -0
  6. data/GUIDE.rdoc +163 -0
  7. data/LICENSE.rdoc +20 -0
  8. data/Manifest.txt +172 -0
  9. data/README.rdoc +63 -0
  10. data/Rakefile +36 -0
  11. data/aai10-mechanize.gemspec +20 -0
  12. data/examples/flickr_upload.rb +22 -0
  13. data/examples/mech-dump.rb +5 -0
  14. data/examples/proxy_req.rb +7 -0
  15. data/examples/rubyforge.rb +20 -0
  16. data/examples/spider.rb +21 -0
  17. data/lib/mechanize.rb +664 -0
  18. data/lib/mechanize/content_type_error.rb +14 -0
  19. data/lib/mechanize/cookie.rb +116 -0
  20. data/lib/mechanize/cookie_jar.rb +202 -0
  21. data/lib/mechanize/element_matcher.rb +35 -0
  22. data/lib/mechanize/file.rb +80 -0
  23. data/lib/mechanize/file_connection.rb +17 -0
  24. data/lib/mechanize/file_request.rb +26 -0
  25. data/lib/mechanize/file_response.rb +74 -0
  26. data/lib/mechanize/file_saver.rb +37 -0
  27. data/lib/mechanize/form.rb +478 -0
  28. data/lib/mechanize/form/button.rb +9 -0
  29. data/lib/mechanize/form/check_box.rb +11 -0
  30. data/lib/mechanize/form/field.rb +44 -0
  31. data/lib/mechanize/form/file_upload.rb +23 -0
  32. data/lib/mechanize/form/image_button.rb +20 -0
  33. data/lib/mechanize/form/multi_select_list.rb +83 -0
  34. data/lib/mechanize/form/option.rb +49 -0
  35. data/lib/mechanize/form/radio_button.rb +48 -0
  36. data/lib/mechanize/form/select_list.rb +40 -0
  37. data/lib/mechanize/headers.rb +25 -0
  38. data/lib/mechanize/history.rb +83 -0
  39. data/lib/mechanize/http.rb +3 -0
  40. data/lib/mechanize/http/agent.rb +738 -0
  41. data/lib/mechanize/inspect.rb +88 -0
  42. data/lib/mechanize/monkey_patch.rb +37 -0
  43. data/lib/mechanize/page.rb +408 -0
  44. data/lib/mechanize/page/base.rb +8 -0
  45. data/lib/mechanize/page/frame.rb +27 -0
  46. data/lib/mechanize/page/image.rb +30 -0
  47. data/lib/mechanize/page/label.rb +20 -0
  48. data/lib/mechanize/page/link.rb +82 -0
  49. data/lib/mechanize/page/meta_refresh.rb +56 -0
  50. data/lib/mechanize/pluggable_parsers.rb +101 -0
  51. data/lib/mechanize/redirect_limit_reached_error.rb +16 -0
  52. data/lib/mechanize/redirect_not_get_or_head_error.rb +19 -0
  53. data/lib/mechanize/response_code_error.rb +22 -0
  54. data/lib/mechanize/response_read_error.rb +27 -0
  55. data/lib/mechanize/robots_disallowed_error.rb +29 -0
  56. data/lib/mechanize/unsupported_scheme_error.rb +8 -0
  57. data/lib/mechanize/util.rb +113 -0
  58. data/test/data/htpasswd +1 -0
  59. data/test/data/server.crt +16 -0
  60. data/test/data/server.csr +12 -0
  61. data/test/data/server.key +15 -0
  62. data/test/data/server.pem +15 -0
  63. data/test/helper.rb +175 -0
  64. data/test/htdocs/alt_text.html +10 -0
  65. data/test/htdocs/bad_form_test.html +9 -0
  66. data/test/htdocs/button.jpg +0 -0
  67. data/test/htdocs/canonical_uri.html +9 -0
  68. data/test/htdocs/dir with spaces/foo.html +1 -0
  69. data/test/htdocs/empty_form.html +6 -0
  70. data/test/htdocs/file_upload.html +26 -0
  71. data/test/htdocs/find_link.html +41 -0
  72. data/test/htdocs/form_multi_select.html +16 -0
  73. data/test/htdocs/form_multival.html +37 -0
  74. data/test/htdocs/form_no_action.html +18 -0
  75. data/test/htdocs/form_no_input_name.html +16 -0
  76. data/test/htdocs/form_select.html +16 -0
  77. data/test/htdocs/form_select_all.html +16 -0
  78. data/test/htdocs/form_select_none.html +17 -0
  79. data/test/htdocs/form_select_noopts.html +10 -0
  80. data/test/htdocs/form_set_fields.html +14 -0
  81. data/test/htdocs/form_test.html +188 -0
  82. data/test/htdocs/frame_referer_test.html +10 -0
  83. data/test/htdocs/frame_test.html +30 -0
  84. data/test/htdocs/google.html +13 -0
  85. data/test/htdocs/iframe_test.html +16 -0
  86. data/test/htdocs/index.html +6 -0
  87. data/test/htdocs/link with space.html +5 -0
  88. data/test/htdocs/meta_cookie.html +11 -0
  89. data/test/htdocs/no_title_test.html +6 -0
  90. data/test/htdocs/nofollow.html +9 -0
  91. data/test/htdocs/noindex.html +9 -0
  92. data/test/htdocs/norobots.html +8 -0
  93. data/test/htdocs/rails_3_encoding_hack_form_test.html +27 -0
  94. data/test/htdocs/rel_nofollow.html +8 -0
  95. data/test/htdocs/relative/tc_relative_links.html +21 -0
  96. data/test/htdocs/robots.html +8 -0
  97. data/test/htdocs/robots.txt +2 -0
  98. data/test/htdocs/tc_bad_charset.html +9 -0
  99. data/test/htdocs/tc_bad_links.html +5 -0
  100. data/test/htdocs/tc_base_images.html +10 -0
  101. data/test/htdocs/tc_base_link.html +8 -0
  102. data/test/htdocs/tc_blank_form.html +11 -0
  103. data/test/htdocs/tc_charset.html +6 -0
  104. data/test/htdocs/tc_checkboxes.html +19 -0
  105. data/test/htdocs/tc_encoded_links.html +5 -0
  106. data/test/htdocs/tc_field_precedence.html +11 -0
  107. data/test/htdocs/tc_follow_meta.html +8 -0
  108. data/test/htdocs/tc_form_action.html +48 -0
  109. data/test/htdocs/tc_images.html +8 -0
  110. data/test/htdocs/tc_links.html +18 -0
  111. data/test/htdocs/tc_meta_in_body.html +9 -0
  112. data/test/htdocs/tc_no_attributes.html +16 -0
  113. data/test/htdocs/tc_pretty_print.html +17 -0
  114. data/test/htdocs/tc_radiobuttons.html +17 -0
  115. data/test/htdocs/tc_referer.html +16 -0
  116. data/test/htdocs/tc_relative_links.html +19 -0
  117. data/test/htdocs/tc_textarea.html +23 -0
  118. data/test/htdocs/test_bad_encoding.html +52 -0
  119. data/test/htdocs/test_click.html +11 -0
  120. data/test/htdocs/unusual______.html +5 -0
  121. data/test/servlets.rb +402 -0
  122. data/test/ssl_server.rb +48 -0
  123. data/test/test_cookies.rb +129 -0
  124. data/test/test_form_action.rb +52 -0
  125. data/test/test_form_as_hash.rb +59 -0
  126. data/test/test_form_button.rb +46 -0
  127. data/test/test_frames.rb +34 -0
  128. data/test/test_headers.rb +33 -0
  129. data/test/test_history.rb +118 -0
  130. data/test/test_history_added.rb +16 -0
  131. data/test/test_html_unscape_forms.rb +46 -0
  132. data/test/test_if_modified_since.rb +20 -0
  133. data/test/test_images.rb +19 -0
  134. data/test/test_mechanize.rb +852 -0
  135. data/test/test_mechanize_cookie.rb +345 -0
  136. data/test/test_mechanize_cookie_jar.rb +433 -0
  137. data/test/test_mechanize_file.rb +53 -0
  138. data/test/test_mechanize_file_request.rb +19 -0
  139. data/test/test_mechanize_file_response.rb +21 -0
  140. data/test/test_mechanize_form.rb +576 -0
  141. data/test/test_mechanize_form_check_box.rb +37 -0
  142. data/test/test_mechanize_form_encoding.rb +120 -0
  143. data/test/test_mechanize_form_field.rb +21 -0
  144. data/test/test_mechanize_form_image_button.rb +12 -0
  145. data/test/test_mechanize_form_textarea.rb +51 -0
  146. data/test/test_mechanize_http_agent.rb +697 -0
  147. data/test/test_mechanize_link.rb +84 -0
  148. data/test/test_mechanize_page_encoding.rb +147 -0
  149. data/test/test_mechanize_page_link.rb +382 -0
  150. data/test/test_mechanize_page_meta_refresh.rb +115 -0
  151. data/test/test_mechanize_redirect_not_get_or_head_error.rb +18 -0
  152. data/test/test_mechanize_subclass.rb +22 -0
  153. data/test/test_mechanize_util.rb +92 -0
  154. data/test/test_multi_select.rb +118 -0
  155. data/test/test_no_attributes.rb +13 -0
  156. data/test/test_option.rb +18 -0
  157. data/test/test_pluggable_parser.rb +136 -0
  158. data/test/test_post_form.rb +37 -0
  159. data/test/test_pretty_print.rb +22 -0
  160. data/test/test_radiobutton.rb +75 -0
  161. data/test/test_redirect_limit_reached.rb +39 -0
  162. data/test/test_redirect_ok.rb +25 -0
  163. data/test/test_referer.rb +81 -0
  164. data/test/test_relative_links.rb +40 -0
  165. data/test/test_request.rb +13 -0
  166. data/test/test_response_code.rb +53 -0
  167. data/test/test_robots.rb +72 -0
  168. data/test/test_save_file.rb +48 -0
  169. data/test/test_scheme.rb +48 -0
  170. data/test/test_select.rb +119 -0
  171. data/test/test_select_all.rb +15 -0
  172. data/test/test_select_none.rb +15 -0
  173. data/test/test_select_noopts.rb +18 -0
  174. data/test/test_set_fields.rb +44 -0
  175. data/test/test_ssl_server.rb +20 -0
  176. metadata +360 -0
@@ -0,0 +1,48 @@
1
+ require "helper"
2
+
3
+ class TestSaveFile < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_save_file
9
+ page = @agent.get('http://localhost:2000/form_no_action.html')
10
+ length = page.response['Content-Length']
11
+ page.save_as("test.html")
12
+ file_length = nil
13
+ File.open("test.html", "r") { |f| file_length = f.read.length }
14
+ FileUtils.rm("test.html")
15
+ assert_equal(length.to_i, file_length)
16
+ end
17
+
18
+ def test_save_file_default
19
+ page = Mechanize::File.new(
20
+ URI.parse('http://localhost/test.html'),
21
+ {},
22
+ "hello"
23
+ )
24
+ page.save
25
+ assert(File.exists?('test.html'))
26
+ page.save
27
+ assert(File.exists?('test.html.1'))
28
+ page.save
29
+ assert(File.exists?('test.html.2'))
30
+ FileUtils.rm("test.html")
31
+ FileUtils.rm("test.html.1")
32
+ FileUtils.rm("test.html.2")
33
+ end
34
+
35
+ def test_save_file_default_with_dots
36
+ page = Mechanize::File.new(
37
+ URI.parse('http://localhost/../test.html'),
38
+ {},
39
+ "hello"
40
+ )
41
+ page.save
42
+ assert(File.exists?('test.html'))
43
+ page.save
44
+ assert(File.exists?('test.html.1'))
45
+ FileUtils.rm("test.html")
46
+ FileUtils.rm("test.html.1")
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ require "helper"
2
+
3
+ class SchemeTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @agent.log = Class.new(Object) do
7
+ def method_missing(*args)
8
+ end
9
+ end.new
10
+ end
11
+
12
+ def test_file_scheme
13
+ f = File.expand_path(__FILE__)
14
+ page = @agent.get("file://#{f}")
15
+ assert_equal(File.read(f), page.body)
16
+ end
17
+
18
+ def test_file_scheme_parses_html
19
+ f = File.expand_path(
20
+ File.join(File.dirname(__FILE__), "htdocs", 'google.html'))
21
+ page = @agent.get("file://#{f}")
22
+ assert_equal(File.read(f), page.body)
23
+ assert_kind_of(Mechanize::Page, page)
24
+ end
25
+
26
+ def test_file_scheme_supports_directories
27
+ f = File.expand_path(File.join(File.dirname(__FILE__), "htdocs"))
28
+ page = @agent.get("file://#{f}")
29
+ assert_equal(Dir[File.join(f, '*')].length, page.links.length)
30
+ assert_kind_of(Mechanize::Page, page)
31
+ end
32
+
33
+ def test_click_file_link
34
+ f = File.expand_path(File.join(File.dirname(__FILE__), "htdocs"))
35
+ page = @agent.get("file://#{f}")
36
+ link = page.links.find { |l| l.text =~ /tc_follow_meta/ }
37
+
38
+ path = URI.parse(link.href).path
39
+
40
+ page = link.click
41
+ assert_equal(File.read(path), page.body)
42
+
43
+ link = page.meta_refresh.first
44
+ page = @agent.click(link)
45
+
46
+ assert_equal("http://localhost/index.html", @agent.history.last.uri.to_s)
47
+ end
48
+ end
@@ -0,0 +1,119 @@
1
+ require "helper"
2
+
3
+ class SelectTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get("http://localhost/form_select.html")
7
+ @form = @page.forms.first
8
+ end
9
+
10
+ def test_option_with
11
+ o = @form.field_with(:name => 'list').option_with(:value => '1')
12
+ assert_equal '1', o.value
13
+ end
14
+
15
+ def test_options_with
16
+ os = @form.field_with(:name => 'list').options_with(:value => /1|2/)
17
+ assert_equal ['1', '2'].sort, os.map { |x| x.value }.sort
18
+ end
19
+
20
+ def test_select_none
21
+ @form.fields_with(:name => 'list').first.select_none
22
+ assert_equal('1', @form.list)
23
+ end
24
+
25
+ def test_select_all
26
+ @form.fields_with(:name => 'list').first.select_all
27
+ assert_equal('6', @form.list)
28
+ end
29
+
30
+ def test_correct_class
31
+ assert_instance_of(Mechanize::Form::SelectList,
32
+ @form.field_with(:name => 'list'))
33
+ end
34
+
35
+ def test_click_all
36
+ @form.field_with(:name => 'list').options.each { |o| o.click }
37
+
38
+ option_list = @form.field_with(:name => 'list').options
39
+
40
+ assert_equal(6, option_list.length)
41
+ assert_equal(option_list.last.value, @form.list)
42
+
43
+ page = @agent.submit(@form)
44
+
45
+ assert_equal(1, page.links.length)
46
+ assert_equal(1, page.links_with(:text => "list:#{option_list.last}").length)
47
+ end
48
+
49
+ def test_select_default
50
+ assert_equal("2", @form.list)
51
+ page = @agent.submit(@form)
52
+ assert_equal(1, page.links.length)
53
+ assert_equal(1, page.links_with(:text => 'list:2').length)
54
+ end
55
+
56
+ def test_select_one
57
+ @form.list = 'Aaron'
58
+ assert_equal('Aaron', @form.list)
59
+ page = @agent.submit(@form)
60
+ assert_equal(1, page.links.length)
61
+ assert_equal('list:Aaron', page.links.first.text)
62
+ end
63
+
64
+ def test_select_two
65
+ @form.list = ['1', 'Aaron']
66
+ assert_equal('1', @form.list)
67
+ page = @agent.submit(@form)
68
+ assert_equal(1, page.links.length)
69
+ assert_equal(1, page.links_with(:text => 'list:1').length)
70
+ end
71
+
72
+ def test_select_three
73
+ @form.list = ['1', '2', '3']
74
+ assert_equal('1', @form.list)
75
+ page = @agent.submit(@form)
76
+ assert_equal(1, page.links.length)
77
+ assert_equal(1, page.links_with(:text => 'list:1').length)
78
+ end
79
+
80
+ def test_select_three_twice
81
+ @form.list = ['1', '2', '3']
82
+ @form.list = ['1', '2', '3']
83
+ assert_equal('1', @form.list)
84
+ page = @agent.submit(@form)
85
+ assert_equal(1, page.links.length)
86
+ assert_equal(1, page.links_with(:text => 'list:1').length)
87
+ end
88
+
89
+ def test_select_with_empty_value
90
+ list = @form.field_with(:name => 'list')
91
+ list.options.last.instance_variable_set(:@value, '')
92
+ list.options.last.tick
93
+ page = @agent.submit(@form)
94
+ assert_equal(1, page.links.length)
95
+ assert_equal(1, page.links_with(:text => 'list:').length)
96
+ end
97
+
98
+ def test_select_with_click
99
+ @form.list = ['1', 'Aaron']
100
+ @form.field_with(:name => 'list').options[3].tick
101
+ assert_equal('4', @form.list)
102
+ page = @agent.submit(@form)
103
+ assert_equal(1, page.links.length)
104
+ assert_equal(1, page.links_with(:text => 'list:4').length)
105
+ end
106
+
107
+ def test_click_twice
108
+ list = @form.field_with(:name => 'list')
109
+ list.options[0].click
110
+ assert_equal('1', @form.list)
111
+ list.options[1].click
112
+ assert_equal('2', @form.list)
113
+ list.options.last.click
114
+ assert_equal('6', @form.list)
115
+ assert_equal(1, list.selected_options.length)
116
+ list.select_all
117
+ assert_equal(1, list.selected_options.length)
118
+ end
119
+ end
@@ -0,0 +1,15 @@
1
+ require "helper"
2
+ class SelectAllTest < MiniTest::Unit::TestCase
3
+ def setup
4
+ @agent = Mechanize.new
5
+ @page = @agent.get("http://localhost/form_select_all.html")
6
+ @form = @page.forms.first
7
+ end
8
+
9
+ def test_select_default
10
+ assert_equal("6", @form.list)
11
+ page = @agent.submit(@form)
12
+ assert_equal(1, page.links.length)
13
+ assert_equal(1, page.links_with(:text => 'list:6').length)
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ require "helper"
2
+ class SelectNoneTest < MiniTest::Unit::TestCase
3
+ def setup
4
+ @agent = Mechanize.new
5
+ @page = @agent.get("http://localhost/form_select_none.html")
6
+ @form = @page.forms.first
7
+ end
8
+
9
+ def test_select_default
10
+ assert_equal("1", @form.list)
11
+ page = @agent.submit(@form)
12
+ assert_equal(1, page.links.length)
13
+ assert_equal(1, page.links_with(:text => 'list:1').length)
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require "helper"
2
+
3
+ class SelectNoOptionsTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get("http://localhost/form_select_noopts.html")
7
+ @form = @page.forms.first
8
+ end
9
+
10
+ def test_select_default
11
+ assert @form.field('list')
12
+ assert_nil @form.list
13
+
14
+ page = @agent.submit(@form)
15
+
16
+ assert_equal(0, page.links.length)
17
+ end
18
+ end
@@ -0,0 +1,44 @@
1
+ require "helper"
2
+
3
+ class TestSetFields < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get("http://localhost/form_set_fields.html")
7
+ @form = @page.forms.first
8
+ end
9
+
10
+ def test_set_no_fields
11
+ before = {}
12
+ @form.fields.each { |f| before[f.name] = f.value }
13
+ @form.set_fields
14
+ before.each { |k,v| assert_equal(v, @form.send(k)) }
15
+ end
16
+
17
+ def test_set_one_field
18
+ @form.set_fields( :gender => 'male' )
19
+ assert_equal('male', @form.gender)
20
+ end
21
+
22
+ def test_set_many_fields
23
+ @form.set_fields( :gender => 'male',
24
+ :first_name => 'Aaron',
25
+ 'green[eggs]' => 'Ham'
26
+ )
27
+ assert_equal('male', @form.gender)
28
+ assert_equal('Aaron', @form.first_name)
29
+ assert_equal('Ham', @form.fields_with(:name => 'green[eggs]').first.value)
30
+ end
31
+
32
+ def test_set_multiple_duplicate_fields
33
+ page = @agent.get("http://localhost/form_multival.html")
34
+ form = page.form('post_form')
35
+ form.set_fields( :first => { 0 => 'a', 1 => 'b' } )
36
+ assert_equal('a', form.fields_with(:name => 'first')[0].value)
37
+ assert_equal('b', form.fields_with(:name => 'first')[1].value)
38
+ end
39
+
40
+ def test_set_second_field
41
+ @form.set_fields( :first_name => ['Aaron', 1] )
42
+ assert_equal('Aaron', @form.fields_with(:name => 'first_name')[1].value)
43
+ end
44
+ end
@@ -0,0 +1,20 @@
1
+ require "helper"
2
+
3
+ class SSLServerTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_ssl_request
9
+ non_ssl_page = @agent.get("http://localhost/form_test.html")
10
+ ssl_page = @agent.get("https://localhost/form_test.html")
11
+ assert_equal(non_ssl_page.body.length, ssl_page.body.length)
12
+ end
13
+
14
+ def test_ssl_request_verify
15
+ non_ssl_page = @agent.get("http://localhost/form_test.html")
16
+ @agent.ca_file = 'data/server.crt'
17
+ ssl_page = @agent.get("https://localhost/form_test.html")
18
+ assert_equal(non_ssl_page.body.length, ssl_page.body.length)
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,360 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: aai10-mechanize
3
+ version: !ruby/object:Gem::Version
4
+ hash: 107
5
+ prerelease: false
6
+ segments:
7
+ - 2
8
+ - 0
9
+ - 1
10
+ - 0
11
+ version: 2.0.1.0
12
+ platform: ruby
13
+ authors:
14
+ - Alexey Aleksandrov
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-09-15 00:00:00 +04:00
20
+ default_executable:
21
+ dependencies: []
22
+
23
+ description: Fix error in mechanize
24
+ email:
25
+ - "aai10@mail.msiu.ru\t"
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files: []
31
+
32
+ files:
33
+ - .autotest
34
+ - .gitignore
35
+ - CHANGELOG.rdoc
36
+ - EXAMPLES.rdoc
37
+ - FAQ.rdoc
38
+ - GUIDE.rdoc
39
+ - LICENSE.rdoc
40
+ - Manifest.txt
41
+ - README.rdoc
42
+ - Rakefile
43
+ - aai10-mechanize.gemspec
44
+ - examples/flickr_upload.rb
45
+ - examples/mech-dump.rb
46
+ - examples/proxy_req.rb
47
+ - examples/rubyforge.rb
48
+ - examples/spider.rb
49
+ - lib/mechanize.rb
50
+ - lib/mechanize/content_type_error.rb
51
+ - lib/mechanize/cookie.rb
52
+ - lib/mechanize/cookie_jar.rb
53
+ - lib/mechanize/element_matcher.rb
54
+ - lib/mechanize/file.rb
55
+ - lib/mechanize/file_connection.rb
56
+ - lib/mechanize/file_request.rb
57
+ - lib/mechanize/file_response.rb
58
+ - lib/mechanize/file_saver.rb
59
+ - lib/mechanize/form.rb
60
+ - lib/mechanize/form/button.rb
61
+ - lib/mechanize/form/check_box.rb
62
+ - lib/mechanize/form/field.rb
63
+ - lib/mechanize/form/file_upload.rb
64
+ - lib/mechanize/form/image_button.rb
65
+ - lib/mechanize/form/multi_select_list.rb
66
+ - lib/mechanize/form/option.rb
67
+ - lib/mechanize/form/radio_button.rb
68
+ - lib/mechanize/form/select_list.rb
69
+ - lib/mechanize/headers.rb
70
+ - lib/mechanize/history.rb
71
+ - lib/mechanize/http.rb
72
+ - lib/mechanize/http/agent.rb
73
+ - lib/mechanize/inspect.rb
74
+ - lib/mechanize/monkey_patch.rb
75
+ - lib/mechanize/page.rb
76
+ - lib/mechanize/page/base.rb
77
+ - lib/mechanize/page/frame.rb
78
+ - lib/mechanize/page/image.rb
79
+ - lib/mechanize/page/label.rb
80
+ - lib/mechanize/page/link.rb
81
+ - lib/mechanize/page/meta_refresh.rb
82
+ - lib/mechanize/pluggable_parsers.rb
83
+ - lib/mechanize/redirect_limit_reached_error.rb
84
+ - lib/mechanize/redirect_not_get_or_head_error.rb
85
+ - lib/mechanize/response_code_error.rb
86
+ - lib/mechanize/response_read_error.rb
87
+ - lib/mechanize/robots_disallowed_error.rb
88
+ - lib/mechanize/unsupported_scheme_error.rb
89
+ - lib/mechanize/util.rb
90
+ - test/data/htpasswd
91
+ - test/data/server.crt
92
+ - test/data/server.csr
93
+ - test/data/server.key
94
+ - test/data/server.pem
95
+ - test/helper.rb
96
+ - test/htdocs/alt_text.html
97
+ - test/htdocs/bad_form_test.html
98
+ - test/htdocs/button.jpg
99
+ - test/htdocs/canonical_uri.html
100
+ - test/htdocs/dir with spaces/foo.html
101
+ - test/htdocs/empty_form.html
102
+ - test/htdocs/file_upload.html
103
+ - test/htdocs/find_link.html
104
+ - test/htdocs/form_multi_select.html
105
+ - test/htdocs/form_multival.html
106
+ - test/htdocs/form_no_action.html
107
+ - test/htdocs/form_no_input_name.html
108
+ - test/htdocs/form_select.html
109
+ - test/htdocs/form_select_all.html
110
+ - test/htdocs/form_select_none.html
111
+ - test/htdocs/form_select_noopts.html
112
+ - test/htdocs/form_set_fields.html
113
+ - test/htdocs/form_test.html
114
+ - test/htdocs/frame_referer_test.html
115
+ - test/htdocs/frame_test.html
116
+ - test/htdocs/google.html
117
+ - test/htdocs/iframe_test.html
118
+ - test/htdocs/index.html
119
+ - test/htdocs/link with space.html
120
+ - test/htdocs/meta_cookie.html
121
+ - test/htdocs/no_title_test.html
122
+ - test/htdocs/nofollow.html
123
+ - test/htdocs/noindex.html
124
+ - test/htdocs/norobots.html
125
+ - test/htdocs/rails_3_encoding_hack_form_test.html
126
+ - test/htdocs/rel_nofollow.html
127
+ - test/htdocs/relative/tc_relative_links.html
128
+ - test/htdocs/robots.html
129
+ - test/htdocs/robots.txt
130
+ - test/htdocs/tc_bad_charset.html
131
+ - test/htdocs/tc_bad_links.html
132
+ - test/htdocs/tc_base_images.html
133
+ - test/htdocs/tc_base_link.html
134
+ - test/htdocs/tc_blank_form.html
135
+ - test/htdocs/tc_charset.html
136
+ - test/htdocs/tc_checkboxes.html
137
+ - test/htdocs/tc_encoded_links.html
138
+ - test/htdocs/tc_field_precedence.html
139
+ - test/htdocs/tc_follow_meta.html
140
+ - test/htdocs/tc_form_action.html
141
+ - test/htdocs/tc_images.html
142
+ - test/htdocs/tc_links.html
143
+ - test/htdocs/tc_meta_in_body.html
144
+ - test/htdocs/tc_no_attributes.html
145
+ - test/htdocs/tc_pretty_print.html
146
+ - test/htdocs/tc_radiobuttons.html
147
+ - test/htdocs/tc_referer.html
148
+ - test/htdocs/tc_relative_links.html
149
+ - test/htdocs/tc_textarea.html
150
+ - test/htdocs/test_bad_encoding.html
151
+ - test/htdocs/test_click.html
152
+ - test/htdocs/unusual______.html
153
+ - test/servlets.rb
154
+ - test/ssl_server.rb
155
+ - test/test_cookies.rb
156
+ - test/test_form_action.rb
157
+ - test/test_form_as_hash.rb
158
+ - test/test_form_button.rb
159
+ - test/test_frames.rb
160
+ - test/test_headers.rb
161
+ - test/test_history.rb
162
+ - test/test_history_added.rb
163
+ - test/test_html_unscape_forms.rb
164
+ - test/test_if_modified_since.rb
165
+ - test/test_images.rb
166
+ - test/test_mechanize.rb
167
+ - test/test_mechanize_cookie.rb
168
+ - test/test_mechanize_cookie_jar.rb
169
+ - test/test_mechanize_file.rb
170
+ - test/test_mechanize_file_request.rb
171
+ - test/test_mechanize_file_response.rb
172
+ - test/test_mechanize_form.rb
173
+ - test/test_mechanize_form_check_box.rb
174
+ - test/test_mechanize_form_encoding.rb
175
+ - test/test_mechanize_form_field.rb
176
+ - test/test_mechanize_form_image_button.rb
177
+ - test/test_mechanize_form_textarea.rb
178
+ - test/test_mechanize_http_agent.rb
179
+ - test/test_mechanize_link.rb
180
+ - test/test_mechanize_page_encoding.rb
181
+ - test/test_mechanize_page_link.rb
182
+ - test/test_mechanize_page_meta_refresh.rb
183
+ - test/test_mechanize_redirect_not_get_or_head_error.rb
184
+ - test/test_mechanize_subclass.rb
185
+ - test/test_mechanize_util.rb
186
+ - test/test_multi_select.rb
187
+ - test/test_no_attributes.rb
188
+ - test/test_option.rb
189
+ - test/test_pluggable_parser.rb
190
+ - test/test_post_form.rb
191
+ - test/test_pretty_print.rb
192
+ - test/test_radiobutton.rb
193
+ - test/test_redirect_limit_reached.rb
194
+ - test/test_redirect_ok.rb
195
+ - test/test_referer.rb
196
+ - test/test_relative_links.rb
197
+ - test/test_request.rb
198
+ - test/test_response_code.rb
199
+ - test/test_robots.rb
200
+ - test/test_save_file.rb
201
+ - test/test_scheme.rb
202
+ - test/test_select.rb
203
+ - test/test_select_all.rb
204
+ - test/test_select_none.rb
205
+ - test/test_select_noopts.rb
206
+ - test/test_set_fields.rb
207
+ - test/test_ssl_server.rb
208
+ has_rdoc: true
209
+ homepage: ""
210
+ licenses: []
211
+
212
+ post_install_message:
213
+ rdoc_options: []
214
+
215
+ require_paths:
216
+ - lib
217
+ required_ruby_version: !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ hash: 3
223
+ segments:
224
+ - 0
225
+ version: "0"
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ hash: 3
232
+ segments:
233
+ - 0
234
+ version: "0"
235
+ requirements: []
236
+
237
+ rubyforge_project: aai10-mechanize
238
+ rubygems_version: 1.3.7
239
+ signing_key:
240
+ specification_version: 3
241
+ summary: Mechanize Bug Fix
242
+ test_files:
243
+ - test/data/htpasswd
244
+ - test/data/server.crt
245
+ - test/data/server.csr
246
+ - test/data/server.key
247
+ - test/data/server.pem
248
+ - test/helper.rb
249
+ - test/htdocs/alt_text.html
250
+ - test/htdocs/bad_form_test.html
251
+ - test/htdocs/button.jpg
252
+ - test/htdocs/canonical_uri.html
253
+ - test/htdocs/dir with spaces/foo.html
254
+ - test/htdocs/empty_form.html
255
+ - test/htdocs/file_upload.html
256
+ - test/htdocs/find_link.html
257
+ - test/htdocs/form_multi_select.html
258
+ - test/htdocs/form_multival.html
259
+ - test/htdocs/form_no_action.html
260
+ - test/htdocs/form_no_input_name.html
261
+ - test/htdocs/form_select.html
262
+ - test/htdocs/form_select_all.html
263
+ - test/htdocs/form_select_none.html
264
+ - test/htdocs/form_select_noopts.html
265
+ - test/htdocs/form_set_fields.html
266
+ - test/htdocs/form_test.html
267
+ - test/htdocs/frame_referer_test.html
268
+ - test/htdocs/frame_test.html
269
+ - test/htdocs/google.html
270
+ - test/htdocs/iframe_test.html
271
+ - test/htdocs/index.html
272
+ - test/htdocs/link with space.html
273
+ - test/htdocs/meta_cookie.html
274
+ - test/htdocs/no_title_test.html
275
+ - test/htdocs/nofollow.html
276
+ - test/htdocs/noindex.html
277
+ - test/htdocs/norobots.html
278
+ - test/htdocs/rails_3_encoding_hack_form_test.html
279
+ - test/htdocs/rel_nofollow.html
280
+ - test/htdocs/relative/tc_relative_links.html
281
+ - test/htdocs/robots.html
282
+ - test/htdocs/robots.txt
283
+ - test/htdocs/tc_bad_charset.html
284
+ - test/htdocs/tc_bad_links.html
285
+ - test/htdocs/tc_base_images.html
286
+ - test/htdocs/tc_base_link.html
287
+ - test/htdocs/tc_blank_form.html
288
+ - test/htdocs/tc_charset.html
289
+ - test/htdocs/tc_checkboxes.html
290
+ - test/htdocs/tc_encoded_links.html
291
+ - test/htdocs/tc_field_precedence.html
292
+ - test/htdocs/tc_follow_meta.html
293
+ - test/htdocs/tc_form_action.html
294
+ - test/htdocs/tc_images.html
295
+ - test/htdocs/tc_links.html
296
+ - test/htdocs/tc_meta_in_body.html
297
+ - test/htdocs/tc_no_attributes.html
298
+ - test/htdocs/tc_pretty_print.html
299
+ - test/htdocs/tc_radiobuttons.html
300
+ - test/htdocs/tc_referer.html
301
+ - test/htdocs/tc_relative_links.html
302
+ - test/htdocs/tc_textarea.html
303
+ - test/htdocs/test_bad_encoding.html
304
+ - test/htdocs/test_click.html
305
+ - test/htdocs/unusual______.html
306
+ - test/servlets.rb
307
+ - test/ssl_server.rb
308
+ - test/test_cookies.rb
309
+ - test/test_form_action.rb
310
+ - test/test_form_as_hash.rb
311
+ - test/test_form_button.rb
312
+ - test/test_frames.rb
313
+ - test/test_headers.rb
314
+ - test/test_history.rb
315
+ - test/test_history_added.rb
316
+ - test/test_html_unscape_forms.rb
317
+ - test/test_if_modified_since.rb
318
+ - test/test_images.rb
319
+ - test/test_mechanize.rb
320
+ - test/test_mechanize_cookie.rb
321
+ - test/test_mechanize_cookie_jar.rb
322
+ - test/test_mechanize_file.rb
323
+ - test/test_mechanize_file_request.rb
324
+ - test/test_mechanize_file_response.rb
325
+ - test/test_mechanize_form.rb
326
+ - test/test_mechanize_form_check_box.rb
327
+ - test/test_mechanize_form_encoding.rb
328
+ - test/test_mechanize_form_field.rb
329
+ - test/test_mechanize_form_image_button.rb
330
+ - test/test_mechanize_form_textarea.rb
331
+ - test/test_mechanize_http_agent.rb
332
+ - test/test_mechanize_link.rb
333
+ - test/test_mechanize_page_encoding.rb
334
+ - test/test_mechanize_page_link.rb
335
+ - test/test_mechanize_page_meta_refresh.rb
336
+ - test/test_mechanize_redirect_not_get_or_head_error.rb
337
+ - test/test_mechanize_subclass.rb
338
+ - test/test_mechanize_util.rb
339
+ - test/test_multi_select.rb
340
+ - test/test_no_attributes.rb
341
+ - test/test_option.rb
342
+ - test/test_pluggable_parser.rb
343
+ - test/test_post_form.rb
344
+ - test/test_pretty_print.rb
345
+ - test/test_radiobutton.rb
346
+ - test/test_redirect_limit_reached.rb
347
+ - test/test_redirect_ok.rb
348
+ - test/test_referer.rb
349
+ - test/test_relative_links.rb
350
+ - test/test_request.rb
351
+ - test/test_response_code.rb
352
+ - test/test_robots.rb
353
+ - test/test_save_file.rb
354
+ - test/test_scheme.rb
355
+ - test/test_select.rb
356
+ - test/test_select_all.rb
357
+ - test/test_select_none.rb
358
+ - test/test_select_noopts.rb
359
+ - test/test_set_fields.rb
360
+ - test/test_ssl_server.rb