domo 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (625) hide show
  1. data/Gemfile.lock +24 -0
  2. data/VERSION +1 -1
  3. data/bin/domo +1 -1
  4. data/domo.gemspec +5 -5
  5. data/jobs/0-1.restore_cif_code_map.xml +0 -0
  6. data/lib/domo.rb +2 -0
  7. data/lib/domo/cli.rb +1 -1
  8. data/lib/domo/core.rb +0 -3
  9. data/pkg/domo-0.0.3.gem +0 -0
  10. data/pkg/domo-0.0.4.gem +0 -0
  11. data/test.lst +2 -0
  12. data/vendor/bundle/ruby/1.9.1/bin/domo +21 -0
  13. data/vendor/bundle/ruby/1.9.1/bin/nokogiri +19 -0
  14. data/vendor/bundle/ruby/1.9.1/bin/rake2thor +19 -0
  15. data/vendor/bundle/ruby/1.9.1/bin/thor +19 -0
  16. data/vendor/bundle/ruby/1.9.1/cache/highline-1.6.2.gem +0 -0
  17. data/vendor/bundle/ruby/1.9.1/cache/mechanize-1.0.0.gem +0 -0
  18. data/vendor/bundle/ruby/1.9.1/cache/nokogiri-1.4.4.gem +0 -0
  19. data/vendor/bundle/ruby/1.9.1/cache/thor-0.14.6.gem +0 -0
  20. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/CHANGELOG +251 -0
  21. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/INSTALL +55 -0
  22. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/LICENSE +7 -0
  23. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/README +63 -0
  24. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/Rakefile +82 -0
  25. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/TODO +6 -0
  26. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/ansi_colors.rb +38 -0
  27. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/asking_for_arrays.rb +18 -0
  28. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/basic_usage.rb +75 -0
  29. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/color_scheme.rb +32 -0
  30. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/limit.rb +12 -0
  31. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/menus.rb +65 -0
  32. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/overwrite.rb +19 -0
  33. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/page_and_wrap.rb +322 -0
  34. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/password.rb +7 -0
  35. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/trapping_eof.rb +22 -0
  36. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/examples/using_readline.rb +17 -0
  37. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline.rb +763 -0
  38. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/color_scheme.rb +118 -0
  39. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/compatibility.rb +16 -0
  40. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/import.rb +43 -0
  41. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/menu.rb +398 -0
  42. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/question.rb +462 -0
  43. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/lib/highline/system_extensions.rb +186 -0
  44. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/setup.rb +1360 -0
  45. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/test/tc_color_scheme.rb +56 -0
  46. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/test/tc_highline.rb +823 -0
  47. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/test/tc_import.rb +54 -0
  48. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/test/tc_menu.rb +429 -0
  49. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.2/test/ts_all.rb +15 -0
  50. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/CHANGELOG.rdoc +516 -0
  51. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/EXAMPLES.rdoc +185 -0
  52. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/FAQ.rdoc +11 -0
  53. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/GUIDE.rdoc +123 -0
  54. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/LICENSE.rdoc +340 -0
  55. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/Manifest.txt +180 -0
  56. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/README.rdoc +60 -0
  57. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/Rakefile +33 -0
  58. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/examples/flickr_upload.rb +23 -0
  59. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/examples/mech-dump.rb +7 -0
  60. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/examples/proxy_req.rb +9 -0
  61. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/examples/rubyforge.rb +22 -0
  62. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/examples/spider.rb +11 -0
  63. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize.rb +660 -0
  64. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain.rb +33 -0
  65. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/auth_headers.rb +78 -0
  66. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/body_decoding_handler.rb +48 -0
  67. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/connection_resolver.rb +77 -0
  68. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/custom_headers.rb +21 -0
  69. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/handler.rb +9 -0
  70. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/header_resolver.rb +57 -0
  71. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/parameter_resolver.rb +22 -0
  72. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/post_connect_hook.rb +0 -0
  73. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/pre_connect_hook.rb +20 -0
  74. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/request_resolver.rb +30 -0
  75. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/response_body_parser.rb +38 -0
  76. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/response_header_handler.rb +48 -0
  77. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/response_reader.rb +39 -0
  78. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/ssl_resolver.rb +40 -0
  79. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/chain/uri_resolver.rb +75 -0
  80. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/content_type_error.rb +14 -0
  81. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/cookie.rb +78 -0
  82. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/cookie_jar.rb +186 -0
  83. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/file.rb +71 -0
  84. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/file_response.rb +60 -0
  85. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/file_saver.rb +37 -0
  86. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form.rb +455 -0
  87. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/button.rb +9 -0
  88. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/check_box.rb +11 -0
  89. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/field.rb +38 -0
  90. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/file_upload.rb +23 -0
  91. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/image_button.rb +21 -0
  92. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/multi_select_list.rb +67 -0
  93. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/option.rb +49 -0
  94. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/radio_button.rb +48 -0
  95. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/form/select_list.rb +68 -0
  96. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/headers.rb +11 -0
  97. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/history.rb +65 -0
  98. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/inspect.rb +88 -0
  99. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/monkey_patch.rb +35 -0
  100. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page.rb +300 -0
  101. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/base.rb +8 -0
  102. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/frame.rb +20 -0
  103. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/image.rb +26 -0
  104. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/label.rb +20 -0
  105. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/link.rb +48 -0
  106. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/page/meta.rb +50 -0
  107. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/pluggable_parsers.rb +101 -0
  108. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/redirect_limit_reached_error.rb +16 -0
  109. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/redirect_not_get_or_head_error.rb +18 -0
  110. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/response_code_error.rb +22 -0
  111. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/unsupported_scheme_error.rb +8 -0
  112. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/lib/mechanize/util.rb +69 -0
  113. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_argument_validator.rb +14 -0
  114. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_auth_headers.rb +25 -0
  115. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_custom_headers.rb +18 -0
  116. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_header_resolver.rb +29 -0
  117. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_parameter_resolver.rb +35 -0
  118. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_request_resolver.rb +29 -0
  119. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/chain/test_response_reader.rb +24 -0
  120. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/data/htpasswd +1 -0
  121. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/data/server.crt +16 -0
  122. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/data/server.csr +12 -0
  123. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/data/server.key +15 -0
  124. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/data/server.pem +15 -0
  125. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/helper.rb +132 -0
  126. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/alt_text.html +10 -0
  127. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/bad_form_test.html +9 -0
  128. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/button.jpg +0 -0
  129. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/empty_form.html +6 -0
  130. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/file_upload.html +26 -0
  131. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/find_link.html +41 -0
  132. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_multi_select.html +16 -0
  133. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_multival.html +37 -0
  134. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_no_action.html +18 -0
  135. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_no_input_name.html +16 -0
  136. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_select.html +16 -0
  137. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_select_all.html +16 -0
  138. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_select_none.html +17 -0
  139. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_select_noopts.html +10 -0
  140. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_set_fields.html +14 -0
  141. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/form_test.html +188 -0
  142. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/frame_test.html +30 -0
  143. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/google.html +13 -0
  144. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/iframe_test.html +16 -0
  145. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/index.html +6 -0
  146. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/link with space.html +5 -0
  147. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/meta_cookie.html +11 -0
  148. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/no_title_test.html +6 -0
  149. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/relative/tc_relative_links.html +21 -0
  150. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_bad_charset.html +9 -0
  151. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_bad_links.html +5 -0
  152. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_base_link.html +8 -0
  153. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_blank_form.html +11 -0
  154. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_charset.html +6 -0
  155. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_checkboxes.html +19 -0
  156. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_encoded_links.html +5 -0
  157. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_field_precedence.html +11 -0
  158. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_follow_meta.html +8 -0
  159. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_form_action.html +48 -0
  160. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_links.html +18 -0
  161. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_meta_in_body.html +9 -0
  162. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_no_attributes.html +16 -0
  163. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_pretty_print.html +17 -0
  164. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_radiobuttons.html +17 -0
  165. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_referer.html +10 -0
  166. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_relative_links.html +19 -0
  167. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/tc_textarea.html +23 -0
  168. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/test_bad_encoding.html +52 -0
  169. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/htdocs/unusual______.html +5 -0
  170. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/servlets.rb +365 -0
  171. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/ssl_server.rb +48 -0
  172. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_authenticate.rb +71 -0
  173. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_bad_links.rb +25 -0
  174. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_blank_form.rb +16 -0
  175. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_checkboxes.rb +61 -0
  176. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_content_type.rb +13 -0
  177. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_cookie_class.rb +338 -0
  178. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_cookie_jar.rb +324 -0
  179. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_cookies.rb +123 -0
  180. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_encoded_links.rb +20 -0
  181. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_errors.rb +49 -0
  182. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_field_precedence.rb +30 -0
  183. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_follow_meta.rb +119 -0
  184. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_form_action.rb +52 -0
  185. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_form_as_hash.rb +61 -0
  186. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_form_button.rb +38 -0
  187. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_form_no_inputname.rb +15 -0
  188. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_forms.rb +571 -0
  189. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_frames.rb +25 -0
  190. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_get_headers.rb +52 -0
  191. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_gzipping.rb +22 -0
  192. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_hash_api.rb +45 -0
  193. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_history.rb +142 -0
  194. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_history_added.rb +16 -0
  195. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_html_unscape_forms.rb +46 -0
  196. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_if_modified_since.rb +20 -0
  197. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_keep_alive.rb +31 -0
  198. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_links.rb +128 -0
  199. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_mech.rb +268 -0
  200. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_mech_proxy.rb +16 -0
  201. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_mechanize_file.rb +47 -0
  202. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_meta.rb +65 -0
  203. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_multi_select.rb +106 -0
  204. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_no_attributes.rb +13 -0
  205. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_option.rb +18 -0
  206. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_page.rb +124 -0
  207. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_pluggable_parser.rb +145 -0
  208. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_post_form.rb +34 -0
  209. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_pretty_print.rb +22 -0
  210. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_radiobutton.rb +75 -0
  211. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_redirect_limit_reached.rb +39 -0
  212. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_redirect_verb_handling.rb +49 -0
  213. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_referer.rb +39 -0
  214. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_relative_links.rb +40 -0
  215. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_request.rb +13 -0
  216. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_response_code.rb +52 -0
  217. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_save_file.rb +48 -0
  218. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_scheme.rb +48 -0
  219. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_select.rb +116 -0
  220. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_select_all.rb +15 -0
  221. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_select_none.rb +15 -0
  222. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_select_noopts.rb +16 -0
  223. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_set_fields.rb +44 -0
  224. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_ssl_server.rb +20 -0
  225. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_subclass.rb +30 -0
  226. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_textarea.rb +45 -0
  227. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_upload.rb +109 -0
  228. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_util.rb +7 -0
  229. data/vendor/bundle/ruby/1.9.1/gems/mechanize-1.0.0/test/test_verbs.rb +25 -0
  230. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/CHANGELOG.ja.rdoc +457 -0
  231. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/CHANGELOG.rdoc +446 -0
  232. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/Manifest.txt +282 -0
  233. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/README.ja.rdoc +102 -0
  234. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/README.rdoc +146 -0
  235. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/Rakefile +187 -0
  236. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/bin/nokogiri +54 -0
  237. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/deps.rip +5 -0
  238. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/Makefile +545 -0
  239. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/depend +358 -0
  240. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/extconf.rb +118 -0
  241. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_document.c +154 -0
  242. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_document.h +10 -0
  243. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_document.o +0 -0
  244. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_element_description.c +276 -0
  245. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_element_description.h +10 -0
  246. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_element_description.o +0 -0
  247. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_entity_lookup.c +32 -0
  248. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_entity_lookup.h +8 -0
  249. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_entity_lookup.o +0 -0
  250. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_sax_parser_context.c +94 -0
  251. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_sax_parser_context.h +11 -0
  252. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/html_sax_parser_context.o +0 -0
  253. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/mkmf.log +377 -0
  254. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/nokogiri.bundle +0 -0
  255. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/nokogiri.c +97 -0
  256. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/nokogiri.h +162 -0
  257. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/nokogiri.o +0 -0
  258. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attr.c +94 -0
  259. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attr.h +9 -0
  260. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attr.o +0 -0
  261. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attribute_decl.c +70 -0
  262. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attribute_decl.h +9 -0
  263. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_attribute_decl.o +0 -0
  264. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_cdata.c +56 -0
  265. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_cdata.h +9 -0
  266. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_cdata.o +0 -0
  267. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_comment.c +54 -0
  268. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_comment.h +9 -0
  269. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_comment.o +0 -0
  270. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document.c +469 -0
  271. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document.h +23 -0
  272. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document.o +0 -0
  273. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document_fragment.c +48 -0
  274. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document_fragment.h +10 -0
  275. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_document_fragment.o +0 -0
  276. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_dtd.c +202 -0
  277. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_dtd.h +10 -0
  278. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_dtd.o +0 -0
  279. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_content.c +123 -0
  280. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_content.h +10 -0
  281. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_content.o +0 -0
  282. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_decl.c +69 -0
  283. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_decl.h +9 -0
  284. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_element_decl.o +0 -0
  285. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_encoding_handler.c +79 -0
  286. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_encoding_handler.h +8 -0
  287. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_encoding_handler.o +0 -0
  288. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_decl.c +110 -0
  289. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_decl.h +10 -0
  290. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_decl.o +0 -0
  291. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_reference.c +52 -0
  292. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_reference.h +9 -0
  293. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_entity_reference.o +0 -0
  294. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_io.c +31 -0
  295. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_io.h +11 -0
  296. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_io.o +0 -0
  297. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  298. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  299. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_libxml2_hacks.o +0 -0
  300. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_namespace.c +84 -0
  301. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_namespace.h +13 -0
  302. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_namespace.o +0 -0
  303. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node.c +1390 -0
  304. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node.h +13 -0
  305. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node.o +0 -0
  306. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node_set.c +418 -0
  307. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node_set.h +9 -0
  308. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_node_set.o +0 -0
  309. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_processing_instruction.c +56 -0
  310. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_processing_instruction.h +9 -0
  311. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_processing_instruction.o +0 -0
  312. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_reader.c +684 -0
  313. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_reader.h +10 -0
  314. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_reader.o +0 -0
  315. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_relax_ng.c +168 -0
  316. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_relax_ng.h +9 -0
  317. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_relax_ng.o +0 -0
  318. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser.c +286 -0
  319. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser.h +39 -0
  320. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser.o +0 -0
  321. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser_context.c +199 -0
  322. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser_context.h +10 -0
  323. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_parser_context.o +0 -0
  324. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_push_parser.c +115 -0
  325. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_push_parser.h +9 -0
  326. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_sax_push_parser.o +0 -0
  327. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_schema.c +205 -0
  328. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_schema.h +9 -0
  329. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_schema.o +0 -0
  330. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_syntax_error.c +58 -0
  331. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_syntax_error.h +13 -0
  332. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_syntax_error.o +0 -0
  333. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_text.c +50 -0
  334. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_text.h +9 -0
  335. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_text.o +0 -0
  336. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_xpath_context.c +309 -0
  337. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_xpath_context.h +9 -0
  338. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xml_xpath_context.o +0 -0
  339. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xslt_stylesheet.c +254 -0
  340. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xslt_stylesheet.h +9 -0
  341. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/xslt_stylesheet.o +0 -0
  342. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri.rb +133 -0
  343. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css.rb +25 -0
  344. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/generated_parser.rb +676 -0
  345. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/generated_tokenizer.rb +145 -0
  346. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/node.rb +99 -0
  347. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/parser.rb +82 -0
  348. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/parser.y +235 -0
  349. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/syntax_error.rb +7 -0
  350. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/tokenizer.rb +7 -0
  351. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/tokenizer.rex +55 -0
  352. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/css/xpath_visitor.rb +171 -0
  353. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/decorators/slop.rb +35 -0
  354. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/encoding_handler.rb +42 -0
  355. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/html/document.rb +28 -0
  356. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/html/element_description.rb +81 -0
  357. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/html/entity_lookup.rb +16 -0
  358. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/html/sax/parser_context.rb +38 -0
  359. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/io_callbacks.rb +42 -0
  360. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/libxml.rb +420 -0
  361. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/common_node.rb +38 -0
  362. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/html_elem_desc.rb +24 -0
  363. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/html_entity_desc.rb +13 -0
  364. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_alloc.rb +16 -0
  365. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_attr.rb +19 -0
  366. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_attribute.rb +27 -0
  367. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_buffer.rb +16 -0
  368. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb +11 -0
  369. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_document.rb +117 -0
  370. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_dtd.rb +28 -0
  371. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_element.rb +26 -0
  372. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_element_content.rb +17 -0
  373. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_entity.rb +32 -0
  374. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_enumeration.rb +12 -0
  375. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_node.rb +28 -0
  376. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_node_set.rb +53 -0
  377. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_notation.rb +11 -0
  378. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_ns.rb +15 -0
  379. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_parser_context.rb +20 -0
  380. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_parser_input.rb +19 -0
  381. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_relax_ng.rb +14 -0
  382. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_sax_handler.rb +51 -0
  383. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb +124 -0
  384. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_schema.rb +13 -0
  385. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_syntax_error.rb +31 -0
  386. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_text_reader.rb +12 -0
  387. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_xpath_context.rb +38 -0
  388. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_xpath_object.rb +35 -0
  389. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb +20 -0
  390. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/structs/xslt_stylesheet.rb +13 -0
  391. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/weak_bucket.rb +40 -0
  392. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/attr.rb +41 -0
  393. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/attribute_decl.rb +27 -0
  394. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/cdata.rb +19 -0
  395. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/comment.rb +18 -0
  396. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/document.rb +166 -0
  397. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/document_fragment.rb +21 -0
  398. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/dtd.rb +67 -0
  399. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/element_content.rb +43 -0
  400. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/element_decl.rb +19 -0
  401. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/entity_decl.rb +36 -0
  402. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/entity_reference.rb +19 -0
  403. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/namespace.rb +44 -0
  404. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/node.rb +559 -0
  405. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/node_set.rb +149 -0
  406. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/processing_instruction.rb +20 -0
  407. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/reader.rb +236 -0
  408. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/relax_ng.rb +85 -0
  409. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/sax/parser.rb +135 -0
  410. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/sax/parser_context.rb +79 -0
  411. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/sax/push_parser.rb +51 -0
  412. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/schema.rb +109 -0
  413. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/syntax_error.rb +98 -0
  414. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/text.rb +18 -0
  415. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/xpath.rb +9 -0
  416. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xml/xpath_context.rb +153 -0
  417. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/xslt/stylesheet.rb +73 -0
  418. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html.rb +35 -0
  419. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/builder.rb +35 -0
  420. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/document.rb +90 -0
  421. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/document_fragment.rb +41 -0
  422. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/element_description.rb +23 -0
  423. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/entity_lookup.rb +13 -0
  424. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/sax/parser.rb +48 -0
  425. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/html/sax/parser_context.rb +16 -0
  426. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle +0 -0
  427. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/syntax_error.rb +4 -0
  428. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/version.rb +38 -0
  429. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/version_warning.rb +14 -0
  430. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml.rb +67 -0
  431. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/attr.rb +14 -0
  432. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/attribute_decl.rb +18 -0
  433. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/builder.rb +418 -0
  434. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/cdata.rb +11 -0
  435. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/character_data.rb +7 -0
  436. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/document.rb +218 -0
  437. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/document_fragment.rb +84 -0
  438. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/dtd.rb +22 -0
  439. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/element_content.rb +36 -0
  440. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/element_decl.rb +13 -0
  441. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/entity_decl.rb +19 -0
  442. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/namespace.rb +13 -0
  443. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/node.rb +906 -0
  444. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/node/save_options.rb +42 -0
  445. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/node_set.rb +350 -0
  446. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/notation.rb +6 -0
  447. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/parse_options.rb +85 -0
  448. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/pp.rb +2 -0
  449. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/pp/character_data.rb +18 -0
  450. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/pp/node.rb +56 -0
  451. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/processing_instruction.rb +8 -0
  452. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/reader.rb +112 -0
  453. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/relax_ng.rb +32 -0
  454. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/sax.rb +4 -0
  455. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/sax/document.rb +164 -0
  456. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/sax/parser.rb +115 -0
  457. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  458. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  459. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/schema.rb +57 -0
  460. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/syntax_error.rb +47 -0
  461. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/text.rb +9 -0
  462. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/xpath.rb +10 -0
  463. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  464. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xml/xpath_context.rb +16 -0
  465. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xslt.rb +52 -0
  466. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/xslt/stylesheet.rb +25 -0
  467. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/xsd/xmlparser/nokogiri.rb +90 -0
  468. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/tasks/cross_compile.rb +180 -0
  469. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/tasks/test.rb +94 -0
  470. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/css/test_nthiness.rb +159 -0
  471. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/css/test_parser.rb +303 -0
  472. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/css/test_tokenizer.rb +190 -0
  473. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/css/test_xpath_visitor.rb +85 -0
  474. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/decorators/test_slop.rb +16 -0
  475. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/ffi/test_document.rb +35 -0
  476. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/2ch.html +108 -0
  477. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/address_book.rlx +12 -0
  478. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/address_book.xml +10 -0
  479. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/bar/bar.xsd +4 -0
  480. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/dont_hurt_em_why.xml +422 -0
  481. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/exslt.xml +8 -0
  482. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/exslt.xslt +35 -0
  483. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/foo/foo.xsd +4 -0
  484. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/po.xml +32 -0
  485. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/po.xsd +66 -0
  486. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/shift_jis.html +10 -0
  487. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/shift_jis.xml +5 -0
  488. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/snuggles.xml +3 -0
  489. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/staff.dtd +10 -0
  490. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/staff.xml +59 -0
  491. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/staff.xslt +32 -0
  492. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/tlm.html +850 -0
  493. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/files/valid_bar.xml +2 -0
  494. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/helper.rb +169 -0
  495. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/sax/test_parser.rb +74 -0
  496. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/sax/test_parser_context.rb +48 -0
  497. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_builder.rb +164 -0
  498. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_document.rb +398 -0
  499. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_document_encoding.rb +77 -0
  500. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_document_fragment.rb +253 -0
  501. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_element_description.rb +98 -0
  502. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_named_characters.rb +14 -0
  503. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_node.rb +190 -0
  504. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/html/test_node_encoding.rb +27 -0
  505. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_convert_xpath.rb +135 -0
  506. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_css_cache.rb +45 -0
  507. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_encoding_handler.rb +46 -0
  508. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_memory_leak.rb +87 -0
  509. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_nokogiri.rb +138 -0
  510. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_reader.rb +408 -0
  511. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_soap4r_sax.rb +52 -0
  512. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/test_xslt_transforms.rb +189 -0
  513. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/node/test_save_options.rb +20 -0
  514. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/node/test_subclass.rb +44 -0
  515. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/sax/test_parser.rb +315 -0
  516. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/sax/test_parser_context.rb +113 -0
  517. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/sax/test_push_parser.rb +156 -0
  518. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_attr.rb +65 -0
  519. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_attribute_decl.rb +82 -0
  520. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_builder.rb +210 -0
  521. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_cdata.rb +50 -0
  522. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_comment.rb +29 -0
  523. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_document.rb +668 -0
  524. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_document_encoding.rb +26 -0
  525. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_document_fragment.rb +192 -0
  526. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_dtd.rb +97 -0
  527. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_dtd_encoding.rb +33 -0
  528. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_element_content.rb +56 -0
  529. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_element_decl.rb +73 -0
  530. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_entity_decl.rb +120 -0
  531. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_entity_reference.rb +21 -0
  532. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_namespace.rb +68 -0
  533. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_node.rb +894 -0
  534. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_node_attributes.rb +34 -0
  535. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_node_encoding.rb +107 -0
  536. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_node_reparenting.rb +321 -0
  537. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_node_set.rb +698 -0
  538. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_parse_options.rb +52 -0
  539. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_processing_instruction.rb +30 -0
  540. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_reader_encoding.rb +126 -0
  541. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_relax_ng.rb +60 -0
  542. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_schema.rb +89 -0
  543. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_syntax_error.rb +12 -0
  544. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_text.rb +47 -0
  545. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_unparented_node.rb +381 -0
  546. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xml/test_xpath.rb +237 -0
  547. data/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/test/xslt/test_custom_functions.rb +94 -0
  548. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/CHANGELOG.rdoc +103 -0
  549. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/LICENSE +20 -0
  550. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/README.md +307 -0
  551. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/Thorfile +24 -0
  552. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/bin/rake2thor +86 -0
  553. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/bin/thor +6 -0
  554. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor.rb +334 -0
  555. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions.rb +314 -0
  556. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/create_file.rb +105 -0
  557. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/create_link.rb +57 -0
  558. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/directory.rb +93 -0
  559. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/empty_directory.rb +134 -0
  560. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/file_manipulation.rb +270 -0
  561. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/actions/inject_into_file.rb +109 -0
  562. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/base.rb +579 -0
  563. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/core_ext/file_binary_read.rb +9 -0
  564. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/core_ext/hash_with_indifferent_access.rb +75 -0
  565. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/core_ext/ordered_hash.rb +100 -0
  566. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/error.rb +30 -0
  567. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/group.rb +273 -0
  568. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb +168 -0
  569. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/parser.rb +4 -0
  570. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/parser/argument.rb +67 -0
  571. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/parser/arguments.rb +161 -0
  572. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/parser/option.rb +120 -0
  573. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/parser/options.rb +173 -0
  574. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/rake_compat.rb +66 -0
  575. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/runner.rb +309 -0
  576. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/shell.rb +88 -0
  577. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/shell/basic.rb +290 -0
  578. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/shell/color.rb +108 -0
  579. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/shell/html.rb +121 -0
  580. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/task.rb +114 -0
  581. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/util.rb +229 -0
  582. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/version.rb +3 -0
  583. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions/create_file_spec.rb +170 -0
  584. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions/directory_spec.rb +136 -0
  585. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions/empty_directory_spec.rb +98 -0
  586. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions/file_manipulation_spec.rb +310 -0
  587. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions/inject_into_file_spec.rb +135 -0
  588. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/actions_spec.rb +322 -0
  589. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/base_spec.rb +269 -0
  590. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/core_ext/hash_with_indifferent_access_spec.rb +43 -0
  591. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/core_ext/ordered_hash_spec.rb +115 -0
  592. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/application.rb +2 -0
  593. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/bundle/execute.rb +6 -0
  594. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/bundle/main.thor +1 -0
  595. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/doc/%file_name%.rb.tt +1 -0
  596. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/doc/README +3 -0
  597. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/doc/block_helper.rb +3 -0
  598. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/doc/config.rb +1 -0
  599. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/group.thor +114 -0
  600. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/invoke.thor +112 -0
  601. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/path with spaces b/data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/path with → spaces +0 -0
  602. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/script.thor +184 -0
  603. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/fixtures/task.thor +10 -0
  604. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/group_spec.rb +178 -0
  605. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/invocation_spec.rb +100 -0
  606. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/parser/argument_spec.rb +47 -0
  607. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/parser/arguments_spec.rb +64 -0
  608. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/parser/option_spec.rb +202 -0
  609. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/parser/options_spec.rb +319 -0
  610. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/rake_compat_spec.rb +68 -0
  611. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/register_spec.rb +92 -0
  612. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/runner_spec.rb +210 -0
  613. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/shell/basic_spec.rb +223 -0
  614. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/shell/color_spec.rb +41 -0
  615. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/shell/html_spec.rb +27 -0
  616. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/shell_spec.rb +47 -0
  617. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/spec_helper.rb +54 -0
  618. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/task_spec.rb +69 -0
  619. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/thor_spec.rb +334 -0
  620. data/vendor/bundle/ruby/1.9.1/gems/thor-0.14.6/spec/util_spec.rb +163 -0
  621. data/vendor/bundle/ruby/1.9.1/specifications/highline-1.6.2.gemspec +29 -0
  622. data/vendor/bundle/ruby/1.9.1/specifications/mechanize-1.0.0.gemspec +35 -0
  623. data/vendor/bundle/ruby/1.9.1/specifications/nokogiri-1.4.4.gemspec +49 -0
  624. data/vendor/bundle/ruby/1.9.1/specifications/thor-0.14.6.gemspec +47 -0
  625. metadata +679 -68
@@ -0,0 +1,49 @@
1
+ require "helper"
2
+
3
+ class MechErrorsTest < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_bad_form_method
9
+ page = @agent.get("http://localhost/bad_form_test.html")
10
+ assert_raise(RuntimeError) {
11
+ @agent.submit(page.forms.first)
12
+ }
13
+ end
14
+
15
+ def test_non_exist
16
+ begin
17
+ page = @agent.get("http://localhost/bad_form_test.html")
18
+ rescue RuntimeError => ex
19
+ assert_equal("404", ex.inspect)
20
+ end
21
+ end
22
+
23
+ def test_too_many_radio
24
+ page = @agent.get("http://localhost/form_test.html")
25
+ form = page.form_with(:name => 'post_form1')
26
+ form.radiobuttons.each { |r| r.checked = true }
27
+ assert_raise(RuntimeError) {
28
+ @agent.submit(form)
29
+ }
30
+ end
31
+
32
+ def test_unknown_agent
33
+ assert_raise(RuntimeError) {
34
+ @agent.user_agent_alias = "Aaron's Browser"
35
+ }
36
+ end
37
+
38
+ def test_bad_url
39
+ assert_raise(RuntimeError) {
40
+ @agent.get('/foo.html')
41
+ }
42
+ end
43
+
44
+ def test_unsupported_scheme
45
+ assert_raise(Mechanize::UnsupportedSchemeError) {
46
+ @agent.get('ftp://server.com/foo.html')
47
+ }
48
+ end
49
+ end
@@ -0,0 +1,30 @@
1
+ require 'helper'
2
+
3
+ class TestFieldPrecedence < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get('http://localhost/tc_field_precedence.html')
7
+ end
8
+
9
+ def test_first_field_wins
10
+ form = @page.forms.first
11
+ assert !form.checkboxes.empty?
12
+ assert_equal "1", form.checkboxes.first.value
13
+ assert_equal 'ticky=1&ticky=0', form.submit.parser.at('#query').text
14
+ end
15
+
16
+ def test_field_sort
17
+ doc = Nokogiri::HTML::Document.new
18
+ node = doc.create_element('input')
19
+ node['name'] = 'foo'
20
+ node['value'] = 'bar'
21
+
22
+ a = Mechanize::Form::Field.new(node)
23
+ b = Mechanize::Form::Field.new({'name' => 'foo'}, 'bar')
24
+ c = Mechanize::Form::Field.new({'name' => 'foo'}, 'bar')
25
+
26
+ assert_equal [a, b], [a, b].sort
27
+ assert_equal [a, b], [b, a].sort
28
+ assert_equal [b, c].sort, [b, c].sort
29
+ end
30
+ end
@@ -0,0 +1,119 @@
1
+ require 'helper'
2
+
3
+ class FollowMetaTest < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_dont_follow_meta_in_body
9
+ @agent.follow_meta_refresh = true
10
+ requests = []
11
+ @agent.pre_connect_hooks << lambda { |params|
12
+ requests << params[:request]
13
+ }
14
+
15
+ page = @agent.get('http://localhost/tc_meta_in_body.html')
16
+ assert_equal 1, requests.length
17
+ end
18
+
19
+ def test_dont_follow_meta_by_default
20
+ page = @agent.get('http://localhost/tc_follow_meta.html')
21
+ assert_equal('http://localhost/tc_follow_meta.html', page.uri.to_s)
22
+ assert_equal(1, page.meta.length)
23
+ end
24
+
25
+ def test_meta_refresh_does_not_send_referer
26
+ @agent.follow_meta_refresh = true
27
+ requests = []
28
+ @agent.pre_connect_hooks << lambda { |params|
29
+ requests << params[:request]
30
+ }
31
+
32
+ page = @agent.get('http://localhost/tc_follow_meta.html')
33
+ assert_nil requests[1]['referer']
34
+ end
35
+
36
+ def test_follow_meta_if_set
37
+ @agent.follow_meta_refresh = true
38
+
39
+ page = @agent.get('http://localhost/tc_follow_meta.html')
40
+
41
+ assert_equal(2, @agent.history.length)
42
+ assert_equal('http://localhost/tc_follow_meta.html',
43
+ @agent.history[0].uri.to_s)
44
+ assert_equal('http://localhost/index.html', page.uri.to_s)
45
+ assert_equal('http://localhost/index.html', @agent.history.last.uri.to_s)
46
+ end
47
+
48
+ def test_follow_meta_with_empty_url
49
+ @agent.follow_meta_refresh = true
50
+
51
+ page = @agent.get('http://localhost/refresh_with_empty_url')
52
+
53
+ assert_equal(3, @agent.history.length)
54
+ assert_equal('http://localhost/refresh_with_empty_url',
55
+ @agent.history[0].uri.to_s)
56
+ assert_equal('http://localhost/refresh_with_empty_url',
57
+ @agent.history[1].uri.to_s)
58
+ assert_equal('http://localhost/index.html', page.uri.to_s)
59
+ assert_equal('http://localhost/index.html', @agent.history.last.uri.to_s)
60
+ end
61
+
62
+ def test_follow_meta_without_url
63
+ @agent.follow_meta_refresh = true
64
+
65
+ page = @agent.get('http://localhost/refresh_without_url')
66
+
67
+ assert_equal(3, @agent.history.length)
68
+ assert_equal('http://localhost/refresh_without_url',
69
+ @agent.history[0].uri.to_s)
70
+ assert_equal('http://localhost/refresh_without_url',
71
+ @agent.history[1].uri.to_s)
72
+ assert_equal('http://localhost/index.html', page.uri.to_s)
73
+ assert_equal('http://localhost/index.html', @agent.history.last.uri.to_s)
74
+ end
75
+
76
+ def test_always_follow_302
77
+ @agent.follow_meta_refresh = false
78
+ page = @agent.get('http://localhost/response_code?code=302&ct=test/xml')
79
+ assert_equal('http://localhost/index.html', page.uri.to_s)
80
+ assert_equal(2, @agent.history.length)
81
+ end
82
+
83
+ def test_infinite_refresh_throws_exception
84
+ @agent.follow_meta_refresh = true
85
+ assert_raises(Mechanize::RedirectLimitReachedError) {
86
+ begin
87
+ @agent.get('http://localhost/infinite_refresh')
88
+ rescue Mechanize::RedirectLimitReachedError => ex
89
+ raise ex
90
+ end
91
+ }
92
+ end
93
+
94
+ def test_dont_honor_http_refresh_by_default
95
+ page = @agent.get('http://localhost/http_refresh?refresh_time=0')
96
+ assert_equal('http://localhost/http_refresh?refresh_time=0', page.uri.to_s)
97
+ end
98
+
99
+ def test_honor_http_refresh_if_set
100
+ @agent.follow_meta_refresh = true
101
+ page = @agent.get('http://localhost/http_refresh?refresh_time=0')
102
+ assert_equal('http://localhost/index.html', page.uri.to_s)
103
+ assert_equal(2, @agent.history.length)
104
+ end
105
+
106
+ def test_honor_http_refresh_delay_if_set
107
+ @agent.follow_meta_refresh = true
108
+ class << @agent
109
+ attr_accessor :slept
110
+ def sleep *args
111
+ @slept = args
112
+ end
113
+ end
114
+
115
+ page = @agent.get('http://localhost/http_refresh?refresh_time=1')
116
+ assert_equal [1], @agent.slept
117
+ end
118
+
119
+ end
@@ -0,0 +1,52 @@
1
+ require "helper"
2
+
3
+ class TestFormAction < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get("http://localhost/tc_form_action.html")
7
+ end
8
+
9
+ def test_post_with_bad_encoding_does_not_raise_exception
10
+ @page = @agent.get("http://localhost/test_bad_encoding.html")
11
+ form = @page.form(:name => 'post_form1') { |f|
12
+ f.first_name = "Aaron"
13
+ }
14
+ form.submit
15
+ end
16
+
17
+ def test_post_encoded_action
18
+ form = @page.form(:name => 'post_form1') { |f|
19
+ f.first_name = "Aaron"
20
+ }
21
+ assert_equal('/form_post?a=b&b=c', form.action)
22
+ page = form.submit
23
+ assert_equal("http://localhost/form_post?a=b&b=c", page.uri.to_s)
24
+ end
25
+
26
+ def test_get_encoded_action
27
+ form = @page.form('post_form2') { |f|
28
+ f.first_name = "Aaron"
29
+ }
30
+ assert_equal('/form_post?a=b&b=c', form.action)
31
+ page = form.submit
32
+ assert_equal("http://localhost/form_post?first_name=Aaron", page.uri.to_s)
33
+ end
34
+
35
+ def test_post_nonencoded_action
36
+ form = @page.form('post_form3') { |f|
37
+ f.first_name = "Aaron"
38
+ }
39
+ assert_equal('/form_post?a=b&b=c', form.action)
40
+ page = form.submit
41
+ assert_equal("http://localhost/form_post?a=b&b=c", page.uri.to_s)
42
+ end
43
+
44
+ def test_post_pound_sign
45
+ form = @page.form('post_form4') { |f|
46
+ f.first_name = "Aaron"
47
+ }
48
+ assert_equal('/form_post#1', form.action)
49
+ page = form.submit
50
+ assert_equal("http://localhost/form_post#1", page.uri.to_s)
51
+ end
52
+ end
@@ -0,0 +1,61 @@
1
+ require "helper"
2
+
3
+ class TestFormHash < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get('http://localhost/form_multival.html')
7
+ end
8
+
9
+ def test_form_hash
10
+ form = @page.form_with(:name => 'post_form')
11
+
12
+ assert_not_nil(form)
13
+ field_length = form.fields.length
14
+ assert_nil(form['intarweb'])
15
+ form['intarweb'] = 'Aaron'
16
+
17
+ assert_not_nil(form['intarweb'])
18
+ assert_equal(field_length + 1, form.fields.length)
19
+ end
20
+
21
+ def test_add_field_via_hash
22
+ form = @page.form_with(:name => 'post_form')
23
+
24
+ assert_not_nil(form)
25
+ field_length = form.fields.length
26
+ assert_nil(form['intarweb'])
27
+ form['intarweb'] = 'Aaron'
28
+
29
+ assert_not_nil(form['intarweb'])
30
+ assert_equal(field_length + 1, form.fields.length)
31
+ end
32
+
33
+ def test_fields_as_hash
34
+ form = @page.form_with(:name => 'post_form')
35
+
36
+ assert_not_nil(form)
37
+ assert_equal(2, form.fields_with(:name => 'first').length)
38
+
39
+ form['first'] = 'Aaron'
40
+ assert_equal('Aaron', form['first'])
41
+ assert_equal('Aaron', form.field_with(:name => 'first').value)
42
+ end
43
+
44
+ def test_keys
45
+ @page = @agent.get('http://localhost/empty_form.html')
46
+ form = @page.forms.first
47
+
48
+ assert_not_nil(form)
49
+ assert_equal(false, form.has_field?('name'))
50
+ assert_equal(false, form.has_value?('Aaron'))
51
+ assert_equal(0, form.keys.length)
52
+ assert_equal(0, form.values.length)
53
+ form['name'] = 'Aaron'
54
+ assert_equal(true, form.has_field?('name'))
55
+ assert_equal(true, form.has_value?('Aaron'))
56
+ assert_equal(1, form.keys.length)
57
+ assert_equal(['name'], form.keys)
58
+ assert_equal(1, form.values.length)
59
+ assert_equal(['Aaron'], form.values)
60
+ end
61
+ end
@@ -0,0 +1,38 @@
1
+ require "helper"
2
+
3
+ class TestFormButtons < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_submit_input_tag
9
+ assert_form_contains_button('<input type="submit" value="submit" />')
10
+ end
11
+
12
+ def test_button_input_tag
13
+ assert_form_contains_button('<input type="button" value="submit" />')
14
+ end
15
+
16
+ def test_submit_button_tag
17
+ assert_form_contains_button('<button type="submit" value="submit"/>')
18
+ end
19
+
20
+ def test_button_button_tag
21
+ assert_form_contains_button('<button type="button" value="submit"/>')
22
+ end
23
+
24
+ def assert_form_contains_button(button)
25
+ page = Mechanize::Page.new(nil, html_response, html(button), 200, @agent)
26
+ assert_equal(1, page.forms.length)
27
+ assert_equal(1, page.forms.first.buttons.length)
28
+ end
29
+
30
+ def html(input)
31
+ "<html><body><form>#{input}</form></body></html>"
32
+ end
33
+
34
+ def html_response
35
+ { 'content-type' => 'text/html' }
36
+ end
37
+ end
38
+
@@ -0,0 +1,15 @@
1
+ require "helper"
2
+
3
+ class FormNoInputNameTest < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ @page = @agent.get('http://localhost/form_no_input_name.html')
7
+ end
8
+
9
+ def test_no_input_name
10
+ form = @page.forms.first
11
+ assert_equal(0, form.fields.length)
12
+ assert_equal(0, form.radiobuttons.length)
13
+ assert_equal(0, form.checkboxes.length)
14
+ end
15
+ end
@@ -0,0 +1,571 @@
1
+ require "helper"
2
+
3
+ class FormsMechTest < Test::Unit::TestCase
4
+ def setup
5
+ @agent = Mechanize.new
6
+ end
7
+
8
+ def test_post_with_blank_encoding
9
+ page = @agent.get("http://localhost/form_test.html")
10
+ form = page.form('post_form1')
11
+ form.page.encoding = nil
12
+ form.submit
13
+ end
14
+
15
+ def test_no_form_action
16
+ page = @agent.get('http://localhost:2000/form_no_action.html')
17
+ page.forms.first.fields.first.value = 'Aaron'
18
+ page = @agent.submit(page.forms.first)
19
+ assert_match('/form_no_action.html?first=Aaron', page.uri.to_s)
20
+ end
21
+
22
+ def test_submit_takes_arbirary_headers
23
+ page = @agent.get('http://localhost:2000/form_no_action.html')
24
+ assert form = page.forms.first
25
+ form.action = '/http_headers'
26
+ page = @agent.submit(form, nil, { 'foo' => 'bar' })
27
+ headers = Hash[*(
28
+ page.body.split("\n").map { |x| x.split('|') }.flatten
29
+ )]
30
+ assert_equal 'bar', headers['foo']
31
+ end
32
+
33
+ # Test submitting form with two fields of the same name
34
+ def test_post_multival
35
+ page = @agent.get("http://localhost/form_multival.html")
36
+ form = page.form_with(:name => 'post_form')
37
+
38
+ assert_not_nil(form)
39
+ assert_equal(2, form.fields_with(:name => 'first').length)
40
+
41
+ form.fields_with(:name => 'first')[0].value = 'Aaron'
42
+ form.fields_with(:name => 'first')[1].value = 'Patterson'
43
+
44
+ page = @agent.submit(form)
45
+
46
+ assert_not_nil(page)
47
+
48
+ assert_equal(2, page.links.length)
49
+ assert_not_nil(page.link_with(:text => 'first:Aaron'))
50
+ assert_not_nil(page.link_with(:text => 'first:Patterson'))
51
+ end
52
+
53
+ # Test calling submit on the form object
54
+ def test_submit_on_form
55
+ page = @agent.get("http://localhost/form_multival.html")
56
+ form = page.form_with(:name => 'post_form')
57
+
58
+ assert_not_nil(form)
59
+ assert_equal(2, form.fields_with(:name => 'first').length)
60
+
61
+ form.fields_with(:name => 'first')[0].value = 'Aaron'
62
+ form.fields_with(:name => 'first')[1].value = 'Patterson'
63
+
64
+ page = form.submit
65
+
66
+ assert_not_nil(page)
67
+
68
+ assert_equal(2, page.links.length)
69
+ assert_not_nil(page.link_with(:text => 'first:Aaron'))
70
+ assert_not_nil(page.link_with(:text => 'first:Patterson'))
71
+ end
72
+
73
+ # Test submitting form with two fields of the same name
74
+ def test_get_multival
75
+ page = @agent.get("http://localhost/form_multival.html")
76
+ form = page.form_with(:name => 'get_form')
77
+
78
+ assert_not_nil(form)
79
+ assert_equal(2, form.fields_with(:name => 'first').length)
80
+
81
+ form.fields_with(:name => 'first')[0].value = 'Aaron'
82
+ form.fields_with(:name => 'first')[1].value = 'Patterson'
83
+
84
+ page = @agent.submit(form)
85
+
86
+ assert_not_nil(page)
87
+
88
+ assert_equal(2, page.links.length)
89
+ assert_not_nil(page.link_with(:text => 'first:Aaron'))
90
+ assert_not_nil(page.link_with(:text => 'first:Patterson'))
91
+ end
92
+
93
+ def test_post_with_non_strings
94
+ page = @agent.get("http://localhost/form_test.html")
95
+ page.form('post_form1') do |form|
96
+ form.first_name = 10
97
+ end.submit
98
+ end
99
+
100
+ def test_post
101
+ page = @agent.get("http://localhost/form_test.html")
102
+ post_form = page.forms.find { |f| f.name == "post_form1" }
103
+ assert_not_nil(post_form, "Post form is null")
104
+ assert_equal("post", post_form.method.downcase)
105
+ assert_equal("/form_post", post_form.action)
106
+
107
+ assert_equal(3, post_form.fields.size)
108
+
109
+ assert_equal(1, post_form.buttons.size)
110
+ assert_equal(2, post_form.radiobuttons.size)
111
+ assert_equal(3, post_form.checkboxes.size)
112
+ assert_not_nil(post_form.fields.find { |f| f.name == "first_name" },
113
+ "First name field was nil"
114
+ )
115
+ assert_not_nil(post_form.fields.find { |f| f.name == "country" },
116
+ "Country field was nil"
117
+ )
118
+ assert_not_nil(
119
+ post_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
120
+ "Gender male button was nil"
121
+ )
122
+
123
+ assert_not_nil(
124
+ post_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
125
+ "Gender female button was nil"
126
+ )
127
+
128
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "cool person" },
129
+ "couldn't find cool person checkbox")
130
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "likes ham" },
131
+ "couldn't find likes ham checkbox")
132
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "green[eggs]" },
133
+ "couldn't find green[eggs] checkbox")
134
+
135
+ # Find the select list
136
+ s = post_form.fields.find { |f| f.name == "country" }
137
+ assert_equal(2, s.options.length)
138
+ assert_equal("USA", s.value)
139
+ assert_equal("USA", s.options.first.value)
140
+ assert_equal("USA", s.options.first.text)
141
+ assert_equal("CANADA", s.options[1].value)
142
+ assert_equal("CANADA", s.options[1].text)
143
+
144
+ # Now set all the fields
145
+ post_form.fields.find { |f| f.name == "first_name" }.value = "Aaron"
146
+ post_form.radiobuttons.find { |f|
147
+ f.name == "gender" && f.value == "male"
148
+ }.checked = true
149
+ post_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
150
+ post_form.checkboxes.find { |f| f.name == "green[eggs]" }.checked = true
151
+ page = @agent.submit(post_form, post_form.buttons.first)
152
+
153
+ # Check that the submitted fields exist
154
+ assert_equal(5, page.links.size, "Not enough links")
155
+ assert_not_nil(
156
+ page.links.find { |l| l.text == "likes ham:on" },
157
+ "likes ham check box missing"
158
+ )
159
+ assert_not_nil(
160
+ page.links.find { |l| l.text == "green[eggs]:on" },
161
+ "green[eggs] check box missing"
162
+ )
163
+ assert_not_nil(
164
+ page.links.find { |l| l.text == "first_name:Aaron" },
165
+ "first_name field missing"
166
+ )
167
+ assert_not_nil(
168
+ page.links.find { |l| l.text == "gender:male" },
169
+ "gender field missing"
170
+ )
171
+ assert_not_nil(
172
+ page.links.find { |l| l.text == "country:USA" },
173
+ "select box not submitted"
174
+ )
175
+ end
176
+
177
+ def test_post_multipart
178
+ page = @agent.get("http://localhost/form_test.html")
179
+ post_form = page.forms.find { |f| f.name == "post_form4_multipart" }
180
+ assert_not_nil(post_form, "Post form is null")
181
+ assert_equal("post", post_form.method.downcase)
182
+ assert_equal("/form_post", post_form.action)
183
+
184
+ assert_equal(1, post_form.fields.size)
185
+ assert_equal(1, post_form.buttons.size)
186
+
187
+ page = @agent.submit(post_form, post_form.buttons.first)
188
+
189
+ assert_not_nil(page)
190
+ end
191
+
192
+ def test_select_box
193
+ page = @agent.get("http://localhost/form_test.html")
194
+ post_form = page.forms.find { |f| f.name == "post_form1" }
195
+ assert_not_nil(post_form, "Post form is null")
196
+ assert_not_nil(page.header)
197
+ assert_not_nil(page.root)
198
+ assert_equal(0, page.iframes.length)
199
+ assert_equal("post", post_form.method.downcase)
200
+ assert_equal("/form_post", post_form.action)
201
+
202
+ # Find the select list
203
+ s = post_form.field_with(:name => /country/)
204
+ assert_not_nil(s, "Couldn't find country select list")
205
+ assert_equal(2, s.options.length)
206
+ assert_equal("USA", s.value)
207
+ assert_equal("USA", s.options.first.value)
208
+ assert_equal("USA", s.options.first.text)
209
+ assert_equal("CANADA", s.options[1].value)
210
+ assert_equal("CANADA", s.options[1].text)
211
+
212
+ # Now set all the fields
213
+ post_form.field_with(:name => /country/).value = s.options[1]
214
+ assert_equal('CANADA', post_form.country)
215
+ page = @agent.submit(post_form, post_form.buttons.first)
216
+
217
+ # Check that the submitted fields exist
218
+ assert_not_nil(
219
+ page.links.find { |l| l.text == "country:CANADA" },
220
+ "select box not submitted"
221
+ )
222
+ end
223
+
224
+ def test_get
225
+ page = @agent.get("http://localhost/form_test.html")
226
+ get_form = page.forms.find { |f| f.name == "get_form1" }
227
+ assert_not_nil(get_form, "Get form is null")
228
+ assert_equal("get", get_form.method.downcase)
229
+ assert_equal("/form_post", get_form.action)
230
+ assert_equal(1, get_form.fields.size)
231
+ assert_equal(2, get_form.buttons.size)
232
+ assert_equal(2, get_form.radiobuttons.size)
233
+ assert_equal(3, get_form.checkboxes.size)
234
+ assert_not_nil(get_form.fields.find { |f| f.name == "first_name" },
235
+ "First name field was nil"
236
+ )
237
+ assert_not_nil(
238
+ get_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
239
+ "Gender male button was nil"
240
+ )
241
+
242
+ assert_not_nil(
243
+ get_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
244
+ "Gender female button was nil"
245
+ )
246
+
247
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "cool person" },
248
+ "couldn't find cool person checkbox")
249
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "likes ham" },
250
+ "couldn't find likes ham checkbox")
251
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "green[eggs]" },
252
+ "couldn't find green[eggs] checkbox")
253
+
254
+ # Set up the image button
255
+ img = get_form.buttons.find { |f| f.name == "button" }
256
+ img.x = "9"
257
+ img.y = "10"
258
+ # Now set all the fields
259
+ get_form.fields.find { |f| f.name == "first_name" }.value = "Aaron"
260
+ get_form.radiobuttons.find { |f|
261
+ f.name == "gender" && f.value == "male"
262
+ }.checked = true
263
+ get_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
264
+ get_form.checkboxes.find { |f| f.name == "green[eggs]" }.checked = true
265
+ page = @agent.submit(get_form, get_form.buttons.first)
266
+
267
+ # Check that the submitted fields exist
268
+ assert_equal(7, page.links.size, "Not enough links")
269
+ assert_not_nil(
270
+ page.links.find { |l| l.text == "likes ham:on" },
271
+ "likes ham check box missing"
272
+ )
273
+ assert_not_nil(
274
+ page.links.find { |l| l.text == "green[eggs]:on" },
275
+ "green[eggs] check box missing"
276
+ )
277
+ assert_not_nil(
278
+ page.links.find { |l| l.text == "first_name:Aaron" },
279
+ "first_name field missing"
280
+ )
281
+ assert_not_nil(
282
+ page.links.find { |l| l.text == "gender:male" },
283
+ "gender field missing"
284
+ )
285
+ assert_not_nil(
286
+ page.links.find { |l| l.text == "button.y:10" },
287
+ "Image button missing"
288
+ )
289
+ assert_not_nil(
290
+ page.links.find { |l| l.text == "button.x:9" },
291
+ "Image button missing"
292
+ )
293
+ assert_not_nil(
294
+ page.links.find { |l| l.text == "button:button" },
295
+ "Image button missing"
296
+ )
297
+ end
298
+
299
+ def test_post_with_space_in_action
300
+ page = @agent.get("http://localhost/form_test.html")
301
+ post_form = page.forms.find { |f| f.name == "post_form2" }
302
+ assert_not_nil(post_form, "Post form is null")
303
+ assert_equal("post", post_form.method.downcase)
304
+ assert_equal("/form post", post_form.action)
305
+ assert_equal(1, post_form.fields.size)
306
+ assert_equal(1, post_form.buttons.size)
307
+ assert_equal(2, post_form.radiobuttons.size)
308
+ assert_equal(2, post_form.checkboxes.size)
309
+ assert_not_nil(post_form.fields.find { |f| f.name == "first_name" },
310
+ "First name field was nil"
311
+ )
312
+ assert_not_nil(
313
+ post_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
314
+ "Gender male button was nil"
315
+ )
316
+
317
+ assert_not_nil(
318
+ post_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
319
+ "Gender female button was nil"
320
+ )
321
+
322
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "cool person" },
323
+ "couldn't find cool person checkbox")
324
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "likes ham" },
325
+ "couldn't find likes ham checkbox")
326
+
327
+ # Now set all the fields
328
+ post_form.fields.find { |f| f.name == "first_name" }.value = "Aaron"
329
+ post_form.radiobuttons.find { |f|
330
+ f.name == "gender" && f.value == "male"
331
+ }.checked = true
332
+ post_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
333
+ page = @agent.submit(post_form, post_form.buttons.first)
334
+
335
+ # Check that the submitted fields exist
336
+ assert_equal(3, page.links.size, "Not enough links")
337
+ assert_not_nil(
338
+ page.links.find { |l| l.text == "likes ham:on" },
339
+ "likes ham check box missing"
340
+ )
341
+ assert_not_nil(
342
+ page.links.find { |l| l.text == "first_name:Aaron" },
343
+ "first_name field missing"
344
+ )
345
+ assert_not_nil(
346
+ page.links.find { |l| l.text == "gender:male" },
347
+ "gender field missing"
348
+ )
349
+ end
350
+
351
+ def test_get_with_space_in_action
352
+ page = @agent.get("http://localhost/form_test.html")
353
+ get_form = page.forms.find { |f| f.name == "get_form2" }
354
+ assert_not_nil(get_form, "Get form is null")
355
+ assert_equal("get", get_form.method.downcase)
356
+ assert_equal("/form post", get_form.action)
357
+ assert_equal(1, get_form.fields.size)
358
+ assert_equal(1, get_form.buttons.size)
359
+ assert_equal(2, get_form.radiobuttons.size)
360
+ assert_equal(2, get_form.checkboxes.size)
361
+ assert_not_nil(get_form.fields.find { |f| f.name == "first_name" },
362
+ "First name field was nil"
363
+ )
364
+ assert_not_nil(
365
+ get_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
366
+ "Gender male button was nil"
367
+ )
368
+
369
+ assert_not_nil(
370
+ get_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
371
+ "Gender female button was nil"
372
+ )
373
+
374
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "cool person" },
375
+ "couldn't find cool person checkbox")
376
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "likes ham" },
377
+ "couldn't find likes ham checkbox")
378
+
379
+ # Now set all the fields
380
+ get_form.fields.find { |f| f.name == "first_name" }.value = "Aaron"
381
+ get_form.radiobuttons.find { |f|
382
+ f.name == "gender" && f.value == "male"
383
+ }.checked = true
384
+ get_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
385
+ page = @agent.submit(get_form, get_form.buttons.first)
386
+
387
+ # Check that the submitted fields exist
388
+ assert_equal(3, page.links.size, "Not enough links")
389
+ assert_not_nil(
390
+ page.links.find { |l| l.text == "likes ham:on" },
391
+ "likes ham check box missing"
392
+ )
393
+ assert_not_nil(
394
+ page.links.find { |l| l.text == "first_name:Aaron" },
395
+ "first_name field missing"
396
+ )
397
+ assert_not_nil(
398
+ page.links.find { |l| l.text == "gender:male" },
399
+ "gender field missing"
400
+ )
401
+ end
402
+
403
+ def test_post_with_param_in_action
404
+ page = @agent.get("http://localhost/form_test.html")
405
+ post_form = page.forms.find { |f| f.name == "post_form3" }
406
+ assert_not_nil(post_form, "Post form is null")
407
+ assert_equal("post", post_form.method.downcase)
408
+ assert_equal("/form_post?great day=yes&one=two", post_form.action)
409
+ assert_equal(1, post_form.fields.size)
410
+ assert_equal(1, post_form.buttons.size)
411
+ assert_equal(2, post_form.radiobuttons.size)
412
+ assert_equal(2, post_form.checkboxes.size)
413
+ assert_not_nil(post_form.fields.find { |f| f.name == "first_name" },
414
+ "First name field was nil"
415
+ )
416
+ assert_not_nil(
417
+ post_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
418
+ "Gender male button was nil"
419
+ )
420
+
421
+ assert_not_nil(
422
+ post_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
423
+ "Gender female button was nil"
424
+ )
425
+
426
+ assert_not_nil(post_form.checkbox_with(:name => "cool person"),
427
+ "couldn't find cool person checkbox")
428
+ assert_not_nil(post_form.checkboxes.find { |f| f.name == "likes ham" },
429
+ "couldn't find likes ham checkbox")
430
+
431
+ # Now set all the fields
432
+ post_form.field_with(:name => 'first_name').value = "Aaron"
433
+ post_form.radiobuttons.find { |f|
434
+ f.name == "gender" && f.value == "male"
435
+ }.checked = true
436
+ post_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
437
+ page = @agent.submit(post_form, post_form.buttons.first)
438
+
439
+ # Check that the submitted fields exist
440
+ assert_equal(3, page.links.size, "Not enough links")
441
+ assert_not_nil(
442
+ page.links.find { |l| l.text == "likes ham:on" },
443
+ "likes ham check box missing"
444
+ )
445
+ assert_not_nil(
446
+ page.links.find { |l| l.text == "first_name:Aaron" },
447
+ "first_name field missing"
448
+ )
449
+ assert_not_nil(
450
+ page.links.find { |l| l.text == "gender:male" },
451
+ "gender field missing"
452
+ )
453
+ end
454
+
455
+ def test_get_with_param_in_action
456
+ page = @agent.get("http://localhost/form_test.html")
457
+ get_form = page.forms.find { |f| f.name == "get_form3" }
458
+ assert_not_nil(get_form, "Get form is null")
459
+ assert_equal("get", get_form.method.downcase)
460
+ assert_equal("/form_post?great day=yes&one=two", get_form.action)
461
+ assert_equal(1, get_form.fields.size)
462
+ assert_equal(1, get_form.buttons.size)
463
+ assert_equal(2, get_form.radiobuttons.size)
464
+ assert_equal(2, get_form.checkboxes.size)
465
+ assert_not_nil(get_form.fields.find { |f| f.name == "first_name" },
466
+ "First name field was nil"
467
+ )
468
+ assert_not_nil(
469
+ get_form.radiobuttons.find { |f| f.name == "gender" && f.value == "male"},
470
+ "Gender male button was nil"
471
+ )
472
+
473
+ assert_not_nil(
474
+ get_form.radiobuttons.find {|f| f.name == "gender" && f.value == "female"},
475
+ "Gender female button was nil"
476
+ )
477
+
478
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "cool person" },
479
+ "couldn't find cool person checkbox")
480
+ assert_not_nil(get_form.checkboxes.find { |f| f.name == "likes ham" },
481
+ "couldn't find likes ham checkbox")
482
+
483
+ # Now set all the fields
484
+ get_form.fields.find { |f| f.name == "first_name" }.value = "Aaron"
485
+ get_form.radiobuttons.find { |f|
486
+ f.name == "gender" && f.value == "male"
487
+ }.checked = true
488
+ get_form.checkboxes.find { |f| f.name == "likes ham" }.checked = true
489
+ page = @agent.submit(get_form, get_form.buttons.first)
490
+ # Check that the submitted fields exist
491
+ assert_equal(3, page.links.size, "Not enough links")
492
+ assert_not_nil(
493
+ page.links.find { |l| l.text == "likes ham:on" },
494
+ "likes ham check box missing"
495
+ )
496
+ assert_not_nil(
497
+ page.links.find { |l| l.text == "first_name:Aaron" },
498
+ "first_name field missing"
499
+ )
500
+ assert_not_nil(
501
+ page.links.find { |l| l.text == "gender:male" },
502
+ "gender field missing"
503
+ )
504
+ end
505
+
506
+ def test_field_addition
507
+ page = @agent.get("http://localhost/form_test.html")
508
+ get_form = page.forms.find { |f| f.name == "get_form1" }
509
+ get_form.field("first_name").value = "Gregory"
510
+ assert_equal( "Gregory", get_form.field("first_name").value )
511
+ end
512
+
513
+ def test_fields_as_accessors
514
+ page = @agent.get("http://localhost/form_multival.html")
515
+ form = page.form_with(:name => 'post_form')
516
+
517
+ assert_not_nil(form)
518
+ assert_equal(2, form.fields_with(:name => 'first').length)
519
+
520
+ form.first = 'Aaron'
521
+ assert_equal('Aaron', form.first)
522
+ end
523
+
524
+ def test_add_field
525
+ page = @agent.get("http://localhost/form_multival.html")
526
+ form = page.form_with(:name => 'post_form')
527
+
528
+ assert_not_nil(form)
529
+ number_of_fields = form.fields.length
530
+
531
+ f = form.add_field!('intarweb')
532
+ assert_not_nil(f)
533
+ assert_equal(number_of_fields + 1, form.fields.length)
534
+ end
535
+
536
+ def test_delete_field
537
+ page = @agent.get("http://localhost/form_multival.html")
538
+ form = page.form_with(:name => 'post_form')
539
+
540
+ assert_not_nil(form)
541
+ number_of_fields = form.fields.length
542
+ assert_equal 2, number_of_fields
543
+
544
+ form.delete_field!('first')
545
+ assert_nil(form['first'])
546
+ assert_equal(number_of_fields - 2, form.fields.length)
547
+ end
548
+
549
+ def test_has_field
550
+ page = @agent.get("http://localhost/form_multival.html")
551
+ form = page.form_with(:name => 'post_form')
552
+
553
+ assert_not_nil(form)
554
+ assert_equal(false, form.has_field?('intarweb'))
555
+ f = form.add_field!('intarweb')
556
+ assert_not_nil(f)
557
+ assert_equal(true, form.has_field?('intarweb'))
558
+ end
559
+
560
+ def test_field_error
561
+ @page = @agent.get('http://localhost/empty_form.html')
562
+ form = @page.forms.first
563
+ assert_raise(NoMethodError) {
564
+ form.foo = 'asdfasdf'
565
+ }
566
+
567
+ assert_raise(NoMethodError) {
568
+ form.foo
569
+ }
570
+ end
571
+ end