watir 1.4.1 → 7.3.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 (422) hide show
  1. checksums.yaml +7 -0
  2. data/.document +4 -0
  3. data/.github/ISSUE_TEMPLATE.md +16 -0
  4. data/.github/workflows/chrome.yml +55 -0
  5. data/.github/workflows/edge.yml +44 -0
  6. data/.github/workflows/firefox.yml +55 -0
  7. data/.github/workflows/ie.yml +30 -0
  8. data/.github/workflows/safari.yml +38 -0
  9. data/.github/workflows/unit.yml +60 -0
  10. data/.gitignore +21 -0
  11. data/.rubocop.yml +114 -0
  12. data/.rubocop_todo.yml +17 -0
  13. data/CHANGES.md +2212 -0
  14. data/Gemfile +15 -0
  15. data/LICENSE +24 -0
  16. data/README.md +113 -0
  17. data/Rakefile +173 -0
  18. data/lib/watir/adjacent.rb +128 -0
  19. data/lib/watir/after_hooks.rb +135 -0
  20. data/lib/watir/alert.rb +113 -0
  21. data/lib/watir/aliases.rb +8 -0
  22. data/lib/watir/attribute_helper.rb +97 -0
  23. data/lib/watir/browser.rb +323 -0
  24. data/lib/watir/capabilities.rb +179 -0
  25. data/lib/watir/cell_container.rb +25 -0
  26. data/lib/watir/container.rb +33 -0
  27. data/lib/watir/cookies.rb +130 -0
  28. data/lib/watir/element_collection.rb +223 -0
  29. data/lib/watir/elements/button.rb +28 -0
  30. data/lib/watir/elements/cell.rb +18 -0
  31. data/lib/watir/elements/checkbox.rb +56 -0
  32. data/lib/watir/elements/date_field.rb +42 -0
  33. data/lib/watir/elements/date_time_field.rb +42 -0
  34. data/lib/watir/elements/dlist.rb +12 -0
  35. data/lib/watir/elements/element.rb +807 -0
  36. data/lib/watir/elements/file_field.rb +43 -0
  37. data/lib/watir/elements/font.rb +26 -0
  38. data/lib/watir/elements/form.rb +16 -0
  39. data/lib/watir/elements/hidden.rb +26 -0
  40. data/lib/watir/elements/html_elements.rb +1981 -0
  41. data/lib/watir/elements/iframe.rb +156 -0
  42. data/lib/watir/elements/image.rb +22 -0
  43. data/lib/watir/elements/input.rb +15 -0
  44. data/lib/watir/elements/link.rb +8 -0
  45. data/lib/watir/elements/list.rb +51 -0
  46. data/lib/watir/elements/option.rb +60 -0
  47. data/lib/watir/elements/radio.rb +65 -0
  48. data/lib/watir/elements/row.rb +18 -0
  49. data/lib/watir/elements/select.rb +214 -0
  50. data/lib/watir/elements/svg_elements.rb +497 -0
  51. data/lib/watir/elements/table.rb +77 -0
  52. data/lib/watir/elements/table_cell.rb +32 -0
  53. data/lib/watir/elements/table_row.rb +34 -0
  54. data/lib/watir/elements/table_section.rb +17 -0
  55. data/lib/watir/elements/text_area.rb +7 -0
  56. data/lib/watir/elements/text_field.rb +39 -0
  57. data/lib/watir/exception.rb +16 -0
  58. data/lib/watir/extensions/nokogiri.rb +14 -0
  59. data/lib/watir/generator/base/generator.rb +114 -0
  60. data/lib/watir/generator/base/idl_sorter.rb +51 -0
  61. data/lib/watir/generator/base/spec_extractor.rb +158 -0
  62. data/lib/watir/generator/base/util.rb +21 -0
  63. data/lib/watir/generator/base/visitor.rb +133 -0
  64. data/lib/watir/generator/base.rb +12 -0
  65. data/lib/watir/generator/html/generator.rb +36 -0
  66. data/lib/watir/generator/html/spec_extractor.rb +52 -0
  67. data/lib/watir/generator/html/visitor.rb +23 -0
  68. data/lib/watir/generator/html.rb +17 -0
  69. data/lib/watir/generator/svg/generator.rb +38 -0
  70. data/lib/watir/generator/svg/spec_extractor.rb +55 -0
  71. data/lib/watir/generator/svg/visitor.rb +23 -0
  72. data/lib/watir/generator/svg.rb +9 -0
  73. data/lib/watir/generator.rb +5 -0
  74. data/lib/watir/has_window.rb +72 -0
  75. data/lib/watir/http_client.rb +11 -0
  76. data/lib/watir/js_execution.rb +165 -0
  77. data/lib/watir/js_snippets/attributeValues.js +11 -0
  78. data/lib/watir/js_snippets/backgroundColor.js +7 -0
  79. data/lib/watir/js_snippets/elementObscured.js +14 -0
  80. data/lib/watir/js_snippets/fireEvent.js +31 -0
  81. data/lib/watir/js_snippets/focus.js +3 -0
  82. data/lib/watir/js_snippets/getElementTags.js +3 -0
  83. data/lib/watir/js_snippets/getInnerHtml.js +19 -0
  84. data/lib/watir/js_snippets/getInnerText.js +19 -0
  85. data/lib/watir/js_snippets/getOuterHtml.js +20 -0
  86. data/lib/watir/js_snippets/getTextContent.js +19 -0
  87. data/lib/watir/js_snippets/isElementInViewport.js +20 -0
  88. data/lib/watir/js_snippets/isImageLoaded.js +3 -0
  89. data/lib/watir/js_snippets/selectOptionsLabel.js +10 -0
  90. data/lib/watir/js_snippets/selectOptionsText.js +10 -0
  91. data/lib/watir/js_snippets/selectOptionsValue.js +10 -0
  92. data/lib/watir/js_snippets/selectText.js +64 -0
  93. data/lib/watir/js_snippets/selectedOptions.js +11 -0
  94. data/lib/watir/js_snippets/selectedText.js +17 -0
  95. data/lib/watir/js_snippets/setText.js +3 -0
  96. data/lib/watir/js_snippets/setValue.js +3 -0
  97. data/lib/watir/js_snippets.rb +18 -0
  98. data/lib/watir/locators/anchor/selector_builder.rb +43 -0
  99. data/lib/watir/locators/button/matcher.rb +19 -0
  100. data/lib/watir/locators/button/selector_builder/xpath.rb +69 -0
  101. data/lib/watir/locators/button/selector_builder.rb +10 -0
  102. data/lib/watir/locators/cell/selector_builder/xpath.rb +23 -0
  103. data/lib/watir/locators/cell/selector_builder.rb +13 -0
  104. data/lib/watir/locators/element/locator.rb +81 -0
  105. data/lib/watir/locators/element/matcher.rb +118 -0
  106. data/lib/watir/locators/element/selector_builder/regexp_disassembler.rb +69 -0
  107. data/lib/watir/locators/element/selector_builder/xpath.rb +268 -0
  108. data/lib/watir/locators/element/selector_builder/xpath_support.rb +29 -0
  109. data/lib/watir/locators/element/selector_builder.rb +164 -0
  110. data/lib/watir/locators/option/matcher.rb +26 -0
  111. data/lib/watir/locators/option/selector_builder/xpath.rb +39 -0
  112. data/lib/watir/locators/option/selector_builder.rb +10 -0
  113. data/lib/watir/locators/row/selector_builder/xpath.rb +53 -0
  114. data/lib/watir/locators/row/selector_builder.rb +18 -0
  115. data/lib/watir/locators/text_area/selector_builder/xpath.rb +21 -0
  116. data/lib/watir/locators/text_area/selector_builder.rb +10 -0
  117. data/lib/watir/locators/text_field/matcher.rb +37 -0
  118. data/lib/watir/locators/text_field/selector_builder/xpath.rb +50 -0
  119. data/lib/watir/locators/text_field/selector_builder.rb +10 -0
  120. data/lib/watir/locators.rb +77 -0
  121. data/lib/watir/logger.rb +30 -0
  122. data/lib/watir/navigation.rb +51 -0
  123. data/lib/watir/radio_set.rb +230 -0
  124. data/lib/watir/row_container.rb +36 -0
  125. data/lib/watir/screenshot.rb +51 -0
  126. data/lib/watir/scroll.rb +95 -0
  127. data/lib/watir/search_context.rb +96 -0
  128. data/lib/watir/shadow_root.rb +60 -0
  129. data/lib/watir/user_editable.rb +85 -0
  130. data/lib/watir/version.rb +5 -0
  131. data/lib/watir/wait/timer.rb +52 -0
  132. data/lib/watir/wait.rb +171 -0
  133. data/lib/watir/window.rb +276 -0
  134. data/lib/watir/window_collection.rb +82 -0
  135. data/lib/watir.rb +108 -0
  136. data/lib/watirspec/guards.rb +65 -0
  137. data/lib/watirspec/implementation.rb +56 -0
  138. data/lib/watirspec/rake_tasks.rb +118 -0
  139. data/lib/watirspec/remote_server.rb +39 -0
  140. data/lib/watirspec/runner.rb +64 -0
  141. data/lib/watirspec/server/app.rb +86 -0
  142. data/lib/watirspec/server.rb +104 -0
  143. data/lib/watirspec.rb +93 -0
  144. data/spec/locator_spec_helper.rb +88 -0
  145. data/spec/spec_helper.rb +24 -0
  146. data/spec/unit/capabilities_spec.rb +670 -0
  147. data/spec/unit/element_locator_spec.rb +97 -0
  148. data/spec/unit/match_elements/button_spec.rb +76 -0
  149. data/spec/unit/match_elements/element_spec.rb +424 -0
  150. data/spec/unit/match_elements/text_field_spec.rb +84 -0
  151. data/spec/unit/selector_builder/anchor_spec.rb +59 -0
  152. data/spec/unit/selector_builder/button_spec.rb +217 -0
  153. data/spec/unit/selector_builder/cell_spec.rb +71 -0
  154. data/spec/unit/selector_builder/element_spec.rb +804 -0
  155. data/spec/unit/selector_builder/row_spec.rb +128 -0
  156. data/spec/unit/selector_builder/text_field_spec.rb +203 -0
  157. data/spec/unit/selector_builder/textarea_spec.rb +35 -0
  158. data/spec/unit/unit_helper.rb +4 -0
  159. data/spec/unit/wait_spec.rb +99 -0
  160. data/spec/watirspec/adjacent_spec.rb +256 -0
  161. data/spec/watirspec/after_hooks_spec.rb +204 -0
  162. data/spec/watirspec/alert_spec.rb +89 -0
  163. data/spec/watirspec/browser_spec.rb +536 -0
  164. data/spec/watirspec/capabilities_spec.rb +556 -0
  165. data/spec/watirspec/cookies_spec.rb +196 -0
  166. data/spec/watirspec/drag_and_drop_spec.rb +38 -0
  167. data/spec/watirspec/element_hidden_spec.rb +86 -0
  168. data/spec/watirspec/elements/area_spec.rb +69 -0
  169. data/spec/watirspec/elements/areas_spec.rb +44 -0
  170. data/spec/watirspec/elements/button_spec.rb +265 -0
  171. data/spec/watirspec/elements/buttons_spec.rb +57 -0
  172. data/spec/watirspec/elements/checkbox_spec.rb +290 -0
  173. data/spec/watirspec/elements/checkboxes_spec.rb +46 -0
  174. data/spec/watirspec/elements/collections_spec.rb +132 -0
  175. data/spec/watirspec/elements/date_field_spec.rb +209 -0
  176. data/spec/watirspec/elements/date_fields_spec.rb +46 -0
  177. data/spec/watirspec/elements/date_time_field_spec.rb +223 -0
  178. data/spec/watirspec/elements/date_time_fields_spec.rb +47 -0
  179. data/spec/watirspec/elements/dd_spec.rb +108 -0
  180. data/spec/watirspec/elements/dds_spec.rb +44 -0
  181. data/spec/watirspec/elements/del_spec.rb +113 -0
  182. data/spec/watirspec/elements/dels_spec.rb +42 -0
  183. data/spec/watirspec/elements/div_spec.rb +232 -0
  184. data/spec/watirspec/elements/divs_spec.rb +56 -0
  185. data/spec/watirspec/elements/dl_spec.rb +117 -0
  186. data/spec/watirspec/elements/dls_spec.rb +45 -0
  187. data/spec/watirspec/elements/dt_spec.rb +107 -0
  188. data/spec/watirspec/elements/dts_spec.rb +44 -0
  189. data/spec/watirspec/elements/element_spec.rb +1069 -0
  190. data/spec/watirspec/elements/elements_spec.rb +60 -0
  191. data/spec/watirspec/elements/em_spec.rb +85 -0
  192. data/spec/watirspec/elements/ems_spec.rb +45 -0
  193. data/spec/watirspec/elements/filefield_spec.rb +135 -0
  194. data/spec/watirspec/elements/filefields_spec.rb +45 -0
  195. data/spec/watirspec/elements/font_spec.rb +31 -0
  196. data/spec/watirspec/elements/form_spec.rb +70 -0
  197. data/spec/watirspec/elements/forms_spec.rb +46 -0
  198. data/spec/watirspec/elements/frame_spec.rb +117 -0
  199. data/spec/watirspec/elements/frames_spec.rb +43 -0
  200. data/spec/watirspec/elements/hidden_spec.rb +106 -0
  201. data/spec/watirspec/elements/hiddens_spec.rb +45 -0
  202. data/spec/watirspec/elements/hn_spec.rb +80 -0
  203. data/spec/watirspec/elements/hns_spec.rb +42 -0
  204. data/spec/watirspec/elements/iframe_spec.rb +244 -0
  205. data/spec/watirspec/elements/iframes_spec.rb +49 -0
  206. data/spec/watirspec/elements/image_spec.rb +160 -0
  207. data/spec/watirspec/elements/images_spec.rb +42 -0
  208. data/spec/watirspec/elements/input_spec.rb +17 -0
  209. data/spec/watirspec/elements/ins_spec.rb +113 -0
  210. data/spec/watirspec/elements/inses_spec.rb +42 -0
  211. data/spec/watirspec/elements/label_spec.rb +77 -0
  212. data/spec/watirspec/elements/labels_spec.rb +42 -0
  213. data/spec/watirspec/elements/li_spec.rb +99 -0
  214. data/spec/watirspec/elements/link_spec.rb +180 -0
  215. data/spec/watirspec/elements/links_spec.rb +66 -0
  216. data/spec/watirspec/elements/lis_spec.rb +44 -0
  217. data/spec/watirspec/elements/list_spec.rb +50 -0
  218. data/spec/watirspec/elements/map_spec.rb +78 -0
  219. data/spec/watirspec/elements/maps_spec.rb +43 -0
  220. data/spec/watirspec/elements/meta_spec.rb +27 -0
  221. data/spec/watirspec/elements/metas_spec.rb +42 -0
  222. data/spec/watirspec/elements/ol_spec.rb +63 -0
  223. data/spec/watirspec/elements/ols_spec.rb +42 -0
  224. data/spec/watirspec/elements/option_spec.rb +113 -0
  225. data/spec/watirspec/elements/p_spec.rb +102 -0
  226. data/spec/watirspec/elements/pre_spec.rb +100 -0
  227. data/spec/watirspec/elements/pres_spec.rb +42 -0
  228. data/spec/watirspec/elements/ps_spec.rb +42 -0
  229. data/spec/watirspec/elements/radio_spec.rb +259 -0
  230. data/spec/watirspec/elements/radios_spec.rb +45 -0
  231. data/spec/watirspec/elements/select_list_spec.rb +701 -0
  232. data/spec/watirspec/elements/select_lists_spec.rb +49 -0
  233. data/spec/watirspec/elements/span_spec.rb +119 -0
  234. data/spec/watirspec/elements/spans_spec.rb +42 -0
  235. data/spec/watirspec/elements/strong_spec.rb +78 -0
  236. data/spec/watirspec/elements/strongs_spec.rb +45 -0
  237. data/spec/watirspec/elements/table_spec.rb +210 -0
  238. data/spec/watirspec/elements/tables_spec.rb +44 -0
  239. data/spec/watirspec/elements/tbody_spec.rb +94 -0
  240. data/spec/watirspec/elements/tbodys_spec.rb +64 -0
  241. data/spec/watirspec/elements/td_spec.rb +92 -0
  242. data/spec/watirspec/elements/tds_spec.rb +55 -0
  243. data/spec/watirspec/elements/text_field_spec.rb +223 -0
  244. data/spec/watirspec/elements/text_fields_spec.rb +47 -0
  245. data/spec/watirspec/elements/textarea_spec.rb +30 -0
  246. data/spec/watirspec/elements/textareas_spec.rb +28 -0
  247. data/spec/watirspec/elements/tfoot_spec.rb +89 -0
  248. data/spec/watirspec/elements/tfoots_spec.rb +72 -0
  249. data/spec/watirspec/elements/thead_spec.rb +88 -0
  250. data/spec/watirspec/elements/theads_spec.rb +72 -0
  251. data/spec/watirspec/elements/tr_spec.rb +69 -0
  252. data/spec/watirspec/elements/trs_spec.rb +63 -0
  253. data/spec/watirspec/elements/ul_spec.rb +63 -0
  254. data/spec/watirspec/elements/uls_spec.rb +42 -0
  255. data/spec/watirspec/html/alerts.html +12 -0
  256. data/spec/watirspec/html/aria_attributes.html +9 -0
  257. data/spec/watirspec/html/child_frame.html +29 -0
  258. data/spec/watirspec/html/class_locator.html +11 -0
  259. data/spec/watirspec/html/clicks.html +19 -0
  260. data/spec/watirspec/html/closeable.html +21 -0
  261. data/spec/watirspec/html/collections.html +15 -0
  262. data/spec/watirspec/html/css/jquery-ui-1.8.17.custom.css +287 -0
  263. data/spec/watirspec/html/data_attributes.html +10 -0
  264. data/spec/watirspec/html/definition_lists.html +48 -0
  265. data/spec/watirspec/html/drag_and_drop.html +106 -0
  266. data/spec/watirspec/html/font.html +10 -0
  267. data/spec/watirspec/html/forms_with_input_elements.html +194 -0
  268. data/spec/watirspec/html/frame_1.html +22 -0
  269. data/spec/watirspec/html/frame_2.html +16 -0
  270. data/spec/watirspec/html/frames.html +11 -0
  271. data/spec/watirspec/html/iframe_1.html +22 -0
  272. data/spec/watirspec/html/iframes.html +15 -0
  273. data/spec/watirspec/html/images/button.png +0 -0
  274. data/spec/watirspec/html/images/circle.png +0 -0
  275. data/spec/watirspec/html/images/map.gif +0 -0
  276. data/spec/watirspec/html/images/map2.gif +0 -0
  277. data/spec/watirspec/html/images/originaltriangle.png +0 -0
  278. data/spec/watirspec/html/images/square.png +0 -0
  279. data/spec/watirspec/html/images/triangle.png +0 -0
  280. data/spec/watirspec/html/images.html +28 -0
  281. data/spec/watirspec/html/inner_outer.html +5 -0
  282. data/spec/watirspec/html/javascript/angular.min.js +332 -0
  283. data/spec/watirspec/html/javascript/helpers.js +16 -0
  284. data/spec/watirspec/html/javascript/jquery-1.7.1.min.js +4 -0
  285. data/spec/watirspec/html/javascript/jquery-ui-1.8.17.custom.min.js +68 -0
  286. data/spec/watirspec/html/keylogger.html +15 -0
  287. data/spec/watirspec/html/modal_dialog.html +9 -0
  288. data/spec/watirspec/html/multiple_ids.html +15 -0
  289. data/spec/watirspec/html/nested_elements.html +44 -0
  290. data/spec/watirspec/html/nested_frame_1.html +1 -0
  291. data/spec/watirspec/html/nested_frame_2.html +9 -0
  292. data/spec/watirspec/html/nested_frame_3.html +14 -0
  293. data/spec/watirspec/html/nested_frames.html +10 -0
  294. data/spec/watirspec/html/nested_iframe_2.html +12 -0
  295. data/spec/watirspec/html/nested_iframes.html +13 -0
  296. data/spec/watirspec/html/nested_tables.html +203 -0
  297. data/spec/watirspec/html/non_control_elements.html +145 -0
  298. data/spec/watirspec/html/obscured.html +36 -0
  299. data/spec/watirspec/html/removed_element.html +24 -0
  300. data/spec/watirspec/html/right_click.html +23 -0
  301. data/spec/watirspec/html/scroll.html +15 -0
  302. data/spec/watirspec/html/scroll_nested.html +17 -0
  303. data/spec/watirspec/html/scroll_nested_offscreen.html +18 -0
  304. data/spec/watirspec/html/shadow_dom.html +28 -0
  305. data/spec/watirspec/html/special_chars.html +15 -0
  306. data/spec/watirspec/html/sticky_elements.html +10 -0
  307. data/spec/watirspec/html/tables.html +121 -0
  308. data/spec/watirspec/html/timeout_window_location.html +19 -0
  309. data/spec/watirspec/html/uneven_table.html +20 -0
  310. data/spec/watirspec/html/wait.html +99 -0
  311. data/spec/watirspec/html/watirspec.css +0 -0
  312. data/spec/watirspec/html/window_switching.html +22 -0
  313. data/spec/watirspec/radio_set_spec.rb +346 -0
  314. data/spec/watirspec/screenshot_spec.rb +33 -0
  315. data/spec/watirspec/scroll_spec.rb +208 -0
  316. data/spec/watirspec/shadow_root_spec.rb +108 -0
  317. data/spec/watirspec/support/rspec_matchers.rb +161 -0
  318. data/spec/watirspec/user_editable_spec.rb +207 -0
  319. data/spec/watirspec/wait_spec.rb +345 -0
  320. data/spec/watirspec/window_switching_spec.rb +580 -0
  321. data/spec/watirspec_helper.rb +163 -0
  322. data/support/doctest_helper.rb +101 -0
  323. data/support/version_differ.rb +60 -0
  324. data/watir.gemspec +50 -0
  325. metadata +652 -148
  326. data/readme.rb +0 -211
  327. data/unittests/WindowLogonExample.rb +0 -30
  328. data/unittests/WindowLogonExtra.rb +0 -7
  329. data/unittests/all_tests.rb +0 -10
  330. data/unittests/all_tests_concurrent.rb +0 -57
  331. data/unittests/attachToExistingWindow_test.rb +0 -40
  332. data/unittests/buttons_test.rb +0 -131
  333. data/unittests/checkbox_test.rb +0 -149
  334. data/unittests/core_tests.rb +0 -9
  335. data/unittests/css_test.rb +0 -60
  336. data/unittests/div_test.rb +0 -179
  337. data/unittests/errorchecker_test.rb +0 -29
  338. data/unittests/filefield_test.rb +0 -35
  339. data/unittests/form_test.rb +0 -279
  340. data/unittests/frame_test.rb +0 -141
  341. data/unittests/html/blankpage.html +0 -12
  342. data/unittests/html/buttons1.html +0 -40
  343. data/unittests/html/checkboxes1.html +0 -69
  344. data/unittests/html/complex_table.html +0 -36
  345. data/unittests/html/cssTest.html +0 -42
  346. data/unittests/html/div.html +0 -105
  347. data/unittests/html/fileupload.html +0 -45
  348. data/unittests/html/formTest1.html +0 -39
  349. data/unittests/html/forms2.html +0 -45
  350. data/unittests/html/forms3.html +0 -132
  351. data/unittests/html/forms4.html +0 -27
  352. data/unittests/html/frame_buttons.html +0 -4
  353. data/unittests/html/frame_links.html +0 -4
  354. data/unittests/html/frame_multi.html +0 -5
  355. data/unittests/html/iframeTest.html +0 -13
  356. data/unittests/html/iframeTest1.html +0 -7
  357. data/unittests/html/iframeTest2.html +0 -6
  358. data/unittests/html/images/button.jpg +0 -0
  359. data/unittests/html/images/circle.jpg +0 -0
  360. data/unittests/html/images/originaltriangle.jpg +0 -0
  361. data/unittests/html/images/square.jpg +0 -0
  362. data/unittests/html/images/triangle.jpg +0 -0
  363. data/unittests/html/images1.html +0 -52
  364. data/unittests/html/javascriptevents.html +0 -39
  365. data/unittests/html/link_pass.html +0 -11
  366. data/unittests/html/links1.html +0 -37
  367. data/unittests/html/links2.html +0 -11
  368. data/unittests/html/nestedFrames.html +0 -6
  369. data/unittests/html/pass.html +0 -10
  370. data/unittests/html/popups1.html +0 -60
  371. data/unittests/html/radioButtons1.html +0 -71
  372. data/unittests/html/select_tealeaf.html +0 -54
  373. data/unittests/html/selectboxes1.html +0 -55
  374. data/unittests/html/simple_table.html +0 -26
  375. data/unittests/html/simple_table_buttons.html +0 -104
  376. data/unittests/html/simple_table_columns.html +0 -76
  377. data/unittests/html/table1.html +0 -142
  378. data/unittests/html/textarea.html +0 -30
  379. data/unittests/html/textfields1.html +0 -87
  380. data/unittests/html/textsearch.html +0 -44
  381. data/unittests/ie_mock.rb +0 -93
  382. data/unittests/ie_test.rb +0 -50
  383. data/unittests/images_test.rb +0 -179
  384. data/unittests/iostring.rb +0 -30
  385. data/unittests/iostring_test.rb +0 -48
  386. data/unittests/js_events_test.rb +0 -77
  387. data/unittests/jscriptExtraAlert.rb +0 -6
  388. data/unittests/jscriptExtraConfirmCancel.rb +0 -7
  389. data/unittests/jscriptExtraConfirmOk.rb +0 -7
  390. data/unittests/jscriptPushButton.rb +0 -5
  391. data/unittests/jscript_test.rb +0 -57
  392. data/unittests/links_test.rb +0 -169
  393. data/unittests/minmax_test.rb +0 -31
  394. data/unittests/navigate_test.rb +0 -56
  395. data/unittests/non_core_tests.rb +0 -9
  396. data/unittests/pagecontainstext_test.rb +0 -49
  397. data/unittests/popups_test.rb +0 -44
  398. data/unittests/radios_test.rb +0 -164
  399. data/unittests/screen_capture_test.rb +0 -53
  400. data/unittests/selectbox_test.rb +0 -197
  401. data/unittests/send_keys_test.rb +0 -29
  402. data/unittests/setup.rb +0 -47
  403. data/unittests/table_test.rb +0 -306
  404. data/unittests/textAreafields_test.rb +0 -81
  405. data/unittests/textfields_test.rb +0 -239
  406. data/watir/AutoItX3.dll +0 -0
  407. data/watir/WindowHelper.rb +0 -47
  408. data/watir/camel_case.rb +0 -37
  409. data/watir/clickJSDialog.rb +0 -19
  410. data/watir/cookiemanager.rb +0 -53
  411. data/watir/exceptions.rb +0 -60
  412. data/watir/screen_capture.rb +0 -115
  413. data/watir/setFileDialog.rb +0 -16
  414. data/watir/testUnitAddons.rb +0 -47
  415. data/watir/watir_simple.rb +0 -475
  416. data/watir/winClicker.rb +0 -505
  417. data/watir.rb +0 -3744
  418. /data/{unittests → spec/watirspec}/html/images/1.gif +0 -0
  419. /data/{unittests/html/images/2.GIF → spec/watirspec/html/images/2.gif} +0 -0
  420. /data/{unittests/html/images/3.GIF → spec/watirspec/html/images/3.gif} +0 -0
  421. /data/{unittests/html/images/minus.GIF → spec/watirspec/html/images/minus.gif} +0 -0
  422. /data/{unittests → spec/watirspec}/html/images/plus.gif +0 -0
@@ -1,132 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Forms
5
- </title>
6
-
7
- <script>
8
- function showHidden(){
9
-
10
- document.all.vis1.value = document.all.hid1.value;
11
- document.all.vis2.value = document.getElementById("hidden_1").value;
12
-
13
- }
14
-
15
-
16
- </script>
17
-
18
- </head>
19
- <body>
20
- CVS Revision: "$Revision: 1.6 $"
21
- <br>
22
- <br>
23
- <table>
24
- <tr>
25
- <td>
26
- <form method = get action = pass.html>
27
- <input type = button name = b1 id = b2 value = "Click Me" >
28
- </form>
29
-
30
- <td>
31
-
32
-
33
- <tr>
34
- <td>
35
- <form name = test2 method = get action = pass2.html>
36
- <ul>
37
- <li>ListItem1 </li>
38
- <li><span>ListItem2</span></li>
39
- </ul>
40
-
41
-
42
- <br><input type = checkbox name = check1 value = 10 >
43
- <br><input type = checkbox name = check1 value = 20 >
44
- <br><input type = checkbox name = check1 value = 30 >
45
-
46
- <br><input selected type = radio name = r1 value = 'a' >
47
- <br><input type = radio name = r1 value = 'b' >
48
- <br><input type = radio name = r1 value = 'c' >
49
- <br><input type = radio name = r1 value = 'd' >
50
-
51
- <br><input type = text id = t1>
52
- <br><input type = text id = t2>
53
-
54
- <br><select name = s1>
55
- <option>1</option>
56
- <option>2</option>
57
- </select>
58
-
59
- <br><select multiple visible=3 name = s2>
60
- <option>1</option>
61
- <option>2</option>
62
- <option>3</option>
63
- <option>4</option>
64
- <option>5</option>
65
- <option>6</option>
66
-
67
- </select>
68
-
69
-
70
-
71
- <br><input type = submit value=Submit><input type = reset id = reset_button>
72
-
73
-
74
-
75
-
76
- </form>
77
- <td>
78
- <tr bgcolor=blue>
79
- <td>
80
- <input type = text name = g1 value = 'textfield' >
81
- <br>
82
- <input type = button name = g1 value ='button'>
83
- <br>
84
- <input type = checkbox name = g1 value='1'>
85
- <br>
86
- <input type = radio name = g1 value = '2'>
87
- <br>
88
-
89
- <td> These objects all have the same name
90
-
91
-
92
- <tr bgcolor=lightblue>
93
- <td >
94
- <input type = text id = g1 value = 'textfield_id' >
95
- <br>
96
- <input type = button id = g1 value ='button_id'>
97
- <br>
98
- <input type = checkbox id= g1 value='1_id'>
99
- <br>
100
- <input type = radio id = g1 value = '2_id'>
101
- <br>
102
-
103
- <td> These objects all have the same id
104
-
105
- <tr>
106
- <td>
107
- <form name = buttonsubmit method = get action = pass.html>
108
- This form is has a submit button that is an image
109
- <input type = text name = tt1>
110
- <input type = image src = images/button.jpg alt = "submit" name=imm>
111
- </form>
112
-
113
- <form name = has_a_hidden>
114
- This is in a form. The form has hidden objects.
115
- <br>
116
- The first has a name - hid1<input type = hidden name = hid1>
117
- <br>
118
- The second has an id- hidden_1<input type = hidden id= hidden_1>
119
-
120
- Click This Button to see the values in these boxes
121
- <input type = button value='Show Hidden' onClick='javascript:showHidden();'>
122
- <br>
123
- <input type = text name = vis1>
124
- <br>
125
- <input type = text name = vis2>
126
-
127
- </form
128
-
129
-
130
-
131
- </body>
132
- </html>
@@ -1,27 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <title>Test page for forms</title>
5
- </head>
6
- <body>
7
- CVS Revision: $Revision $
8
- <br>
9
- <br>
10
- <table>
11
- <tbody>
12
- <tr>
13
- <td>
14
- <form name="apple_form" method="get" action="pass.html"> <input
15
- name="name" value="apple" type="text"> </form>
16
- </td>
17
- </tr>
18
- <tr>
19
- <td>
20
- <form name="banana_form" method="get" action="pass2.html"> <input
21
- name="name" value="banana" type="text"> </form>
22
- </td>
23
- </tr>
24
- </tbody>
25
- </table>
26
- </body>
27
- </html>
@@ -1,4 +0,0 @@
1
- <frameset cols=50,50 >
2
- <frame src = buttons1.html name = buttonFrame>
3
- <frame src = blankpage.html name = buttonFrame2>
4
- </frameset>
@@ -1,4 +0,0 @@
1
- <frameset cols=50,50 >
2
- <frame src = links1.html name = buttonFrame>
3
- <frame src = blankpage.html name = buttonFrame2>
4
- </frameset>
@@ -1,5 +0,0 @@
1
- <frameset cols=50,25,25 >
2
- <frame src = buttons1.html name = buttonFrame id = first_frame>
3
- <frame src = blankpage.html name = buttonFrame2 id = second_frame>
4
- <frame src = pass.html>
5
- </frameset>
@@ -1,13 +0,0 @@
1
- <html>
2
- <body>
3
-
4
-
5
- <table >
6
- <tr>
7
- <td>
8
- <iframe src = iframeTest1.html name = senderFrame width = 300 height = 300>
9
-
10
- <td>
11
- <iframe src = iframeTest2.html name = receiverFrame width = 300 height = 300>
12
- </table>
13
- </html>
@@ -1,7 +0,0 @@
1
- <html>
2
- <body>
3
- <form name = sender>
4
- <input type = text name = textToSend>
5
- <input type = button name = sendIt value = "SendIt" onClick="javascript:parent.receiverFrame.document.body.all.receiverText.value= document.body.all.textToSend.value;">
6
- </body>
7
- <html>
@@ -1,6 +0,0 @@
1
- <html>
2
- <body>
3
-
4
- <input type = text name = receiverText>
5
- </body>
6
- <html>
Binary file
Binary file
Binary file
Binary file
@@ -1,52 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Images
5
- </title>
6
- </head>
7
- <body>
8
- CVS Revision: "$Revision $"
9
- <br>
10
- <br>
11
- <table>
12
- <tr>
13
- <td>
14
- <img src = images/triangle.jpg>
15
- <td> The triangle only has a src
16
-
17
- <tr>
18
- <td>
19
- <img src = images/square.jpg id=square>
20
- <td> The square has a src and an id
21
-
22
- <tr>
23
- <td>
24
- <img src = images/circle.jpg name = circle>
25
- <td> The circle has a src and a name
26
-
27
-
28
- <tr>
29
- <td>
30
- <img src = images/missing.jpg name = themissingimage>
31
- <td> this is a missing image
32
-
33
-
34
- <tr>
35
- <td>
36
- <img src = images/button.jpg onClick='javascript:document.location="pass.html";'>
37
- <td> this image has a javascript on click event
38
-
39
- <tr>
40
- <td>
41
- <img src = images/circle.jpg alt="circle">
42
- <td> The circle has a src and an alt text
43
-
44
- <tr><td>
45
- <INPUT onClick= javascript:document.all.text1.value='clicked' type=image src="images/square.jpg" value="Position Show Optional" name=tsogpsb>
46
- <td> This is a button as an image, with a value attribute
47
- <input type = text name = text1>
48
-
49
-
50
-
51
- </body>
52
- </html>
@@ -1,39 +0,0 @@
1
- <HTML>
2
- <HEAD>
3
- <SCRIPT LANGUAGE="JavaScript">
4
-
5
- function enable() {
6
- frm=document.forms[0]
7
- {frm.Button1.disabled=false}
8
- }
9
-
10
- </SCRIPT>
11
-
12
- </HEAD>
13
- <BODY TEXT="000000" BGCOLOR="FFFFFF">
14
- <p align="center">
15
- <form>
16
-
17
- <input type="text" name="entertext" onkeyup="javascript:enable();" >
18
-
19
-
20
- <input type=button value="Button 1" name="Button1" disabled="true" onClick="javascript:document.location='pass.html';">
21
-
22
- </form>
23
- </p>
24
- <p>
25
- <a href="pass.html"
26
- onMouseOver="window.status='It worked'; return true">Check the Status</a>
27
-
28
- </p>
29
- <p>
30
- <a href="pass.html"
31
- onMouseOver="window.status=''; return true">Clear the Status</a>
32
-
33
- </p>
34
-
35
- <p>
36
- <a href = '#' onClick= "javascript:window.open('pass.html','pop_up_test','height=100,width=50,fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); ">New Window No Status Bar</a>
37
-
38
- </BODY>
39
- </HTML>
@@ -1,11 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Links - 3
5
- </title>
6
- </head>
7
- <body>
8
- Links3-Pass
9
-
10
- </body>
11
- </html>
@@ -1,37 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <title>Test page for Links</title>
5
- </head>
6
- <body>
7
- CVS Revision: $Revision $
8
- <br>
9
- <br>
10
- <table>
11
- <tbody>
12
- <tr>
13
- <td> <a href="links2.html">test1</a> <br>
14
- <a href="link_pass.html">test1</a> <br>
15
- <a href="pass3.html"><img src="images/button.jpg" border=0></a> The button is really a link <br>
16
- <a href="textarea.html" target="_blank">new window</a> <a href="textarea.html" target="_blank">new window</a> </td>
17
- </tr>
18
- <tr>
19
- <td> <a href="links1.HTML" id="link_id">Link Using an ID</a> </td>
20
- </tr>
21
- <tr>
22
- <td> <a href="links1.HTML" name="link_name">Link Using a name</a>
23
- </td>
24
- </tr>
25
- <tr>
26
- <td> <a href="links1.HTML" title="link_title">Link Using a title</a>
27
- </td>
28
- </tr>
29
-
30
- <tr>
31
- <td><a href = pass.html><img src=images/triangle.jpg>Image and a text link</a>
32
- </tr>
33
-
34
- </tbody>
35
- </table>
36
- </body>
37
- </html>
@@ -1,11 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Links - 2
5
- </title>
6
- </head>
7
- <body>
8
- Links2-Pass
9
-
10
- </body>
11
- </html>
@@ -1,6 +0,0 @@
1
- <html><head><title>Nested Frames</title></head>
2
- <frameset cols=70,30 >
3
-
4
- <frame src = iframeTest.html name = nestedFrame>
5
- <frame src = blankpage.html name = nestedFrame2>
6
- </frameset>
@@ -1,10 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Pass Page
5
- </title>
6
- </head>
7
- <body>
8
- PASS
9
- </body>
10
- </html>
@@ -1,60 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for pop ups
5
- </title>
6
-
7
- <script language = javascript>
8
- function doConfirmBox() {
9
- var a =confirm('Do you really want to do this');
10
- if (a == true)
11
- document.all.confirmtext.value = "OK"
12
- else
13
- document.all.confirmtext.value = "Cancel";
14
- }
15
-
16
- function doPromptBox() {
17
- var a =prompt('Enter something delightful' , '');
18
- if (a == null)
19
- document.all.prompttext.value = "Cancel"
20
- else
21
- document.all.prompttext.value = a;
22
- }
23
-
24
-
25
- </script>
26
-
27
- </head>
28
- <body>
29
- CVS Revision: "$Revision: 1.1 $"
30
- <br>
31
- <br>
32
- <table>
33
-
34
- <tr>
35
- <td>
36
- <input type = button value = "Alert" onClick = "javascript:alert('This is an alert box');">This Button shows an alert pop up</q>
37
- <br>
38
-
39
- <tr>
40
- <td>
41
- <input type = button value = "Prompt" onClick= "javascript:doPromptBox();">This button shows a prompt pop up. This text box shows what text was entered <input type = text name = prompttext>
42
-
43
- <br>
44
- <tr>
45
- <td>
46
- <input type = button value = "Confirm" onClick= "javascript:doConfirmBox();">This button shows a prompt pop up. This text box shows which button was clicked <input type = text name = confirmtext>
47
- <br>
48
-
49
- <tr>
50
- <td>
51
- <input type = file name = up>This button shows a file upload box</q>
52
- <br>
53
-
54
-
55
- <tr>
56
- <td>
57
- </table>
58
-
59
-
60
- </html>
@@ -1,71 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Radio Buttons
5
- </title>
6
-
7
- <script>
8
-
9
- function setButtonState( )
10
- {
11
- if (document.all.foo.disabled )
12
- document.all.foo.disabled = false
13
- else
14
- document.all.foo.disabled = true
15
- }
16
- </script>
17
-
18
- </head>
19
- <body>
20
- CVS Revision: $Revision $
21
- <br>
22
- <br>
23
- <table>
24
- <tr>
25
- <td>
26
- Radio (using name) <input type = radio name = box1>
27
- <br>
28
- Radio (using id) <input type = radio id = box5>
29
-
30
- <tr>
31
- <td>
32
- Disabled<input type = radio name = box2 disabled>
33
-
34
- <tr>
35
- <td>
36
- Set<input type = radio name = box3 checked>
37
-
38
- <tr>
39
- <td>
40
- <br>
41
- <br>
42
- These radios have the same name, but different values
43
- <br>
44
- Name = box4 value=1 <input type = radio name = box4 value = 1 checked>
45
- <br>
46
- Name = box4 value=2 <input type = radio name = box4 value = 2>
47
- <br>
48
- Name = box4 value=3 <input type = radio name = box4 value = 3>
49
- <br>
50
- Name = box4 value=4 <input type = radio name = box4 value = 4>
51
- <br>
52
- Name = box4 value=5 <input type = radio name = box4 value = 5 disabled title="box4-value5">
53
-
54
-
55
- <tr>
56
- <td>
57
- Name = box5 value=1 Enable Button <input type = radio name = box5 value = 1 onClick='javascript:setButtonState( )'>
58
- <br>Name = box5 value=2 Disable Button<input type = radio name = box5 value = 2 onClick='javascript:setButtonState( )'>
59
-
60
-
61
- <tr>
62
- <td>
63
- <input type = button name = foo value = foo disabled><td> This button is used with radio box5. This button gets enabled/disabled on each click
64
-
65
-
66
-
67
-
68
-
69
- </table>
70
- </body>
71
- </html>
@@ -1,54 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- </head>
5
- <body>
6
- I've been very happy to be able to start migrating from Incanica's ITP<br>
7
- to Watir at work, but I've run into my first real problem. I have a<br>
8
- select box defined thus:<br>
9
- <br>
10
- <select class="body" name="op_numhits">
11
- <option value="0"> = </option>
12
- <option value="1"> &lt;&gt; </option>
13
- <option value="3"> &gt;= </option>
14
- <option value="5"> &lt;= </option>
15
- </select>
16
- <br>
17
- and I'm trying to choose the "&gt;=" option via the following code:<br>
18
- <pre> $ie.selectBox( :name, "op_numhits" ).select( "&gt;=" )</pre>
19
- (Aside: actually, what I write to define the task is XML adapted from
20
- ITP's syntax, e.g.,<br>
21
- <pre> &lt;browser_action entity="selectBox" entity_id_type="name" entity_id_value="op_numhits" action="select" param="&amp;gt;=" /&gt; </pre>
22
- and our WebSiteTester Ruby class translates that into
23
- Watir calls.)<br>
24
- <br>
25
- and the output I get from Watir is:<br>
26
- <br>
27
- Setting box op_numhits to &gt;= String<br>
28
- comparing &gt;= to &aacute;=&aacute;&aacute;<br>
29
- comparing &gt;= to &aacute;&lt;&gt;&aacute;<br>
30
- comparing &gt;= to &aacute;&gt;=&aacute;<br>
31
- comparing &gt;= to &aacute;&lt;=&aacute;<br>
32
- <br>
33
- <br>
34
- While I just realized I could enhance our WebSiteTester class to be
35
- able to pass Regexp's as well as Strings to the select() method, it
36
- would also be nice to be able to specify the desired select option by
37
- value (in my example, the value is "3").<br>
38
- <hr><br>
39
- Is it even possible for Watir to select something based on an attribute<br>
40
- that's empty, like the first option of the select box below? I know I<br>
41
- also have an issue given that I'm translating from an XML representation<br>
42
- to a Ruby Watir call, and I'm probably getting a nil back from REXML<br>
43
- when I ask for the value of an attribute that has nothing between the<br>
44
- quotes....<br>
45
- <br>
46
- <select class="body" name="s_interest" id="s_interest">
47
- <option value="" selected="Y"></option>
48
- <option value="-1">Yes</option>
49
- <option value="0">No</option>
50
- </select>
51
- <br>
52
- <br>
53
- </body>
54
- </html>
@@ -1,55 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for select boxes
5
- </title>
6
- </head>
7
- <body>
8
- CVS Revision: $Revision" $
9
- <br>
10
- <br>
11
- <table>
12
-
13
- <tr>
14
- <td>
15
- <select name = sel1 >
16
- <option value=o1>Option 1
17
- <option value=o2>Option 2
18
- <option value=o3 SELECTED >Option 3
19
- <option value=o4>Option 4
20
- </select>
21
- <tr>
22
- <td>
23
- <select name = sel2 multiple>
24
- <option value=o1>Option 1
25
- <option value=o2>Option 2
26
- <option value=o3 SELECTED >Option 3
27
- <option value=o4>Option 4
28
- <option value=o6>Option 5
29
- <option value=o6 SELECTED >Option 6
30
-
31
-
32
- </form>
33
-
34
- <tr>
35
- <td>
36
- <select name = sel3 onChange = 'javascript:document.location="pass.html";'>
37
- <option value = o1>Option 1
38
- <option value = o2>Option 2
39
- <option value = o3 selected>Option 3
40
- <option value = o4>Option 4
41
- </select>
42
-
43
- <td> This box is used for testing the onchange event
44
-
45
- <tr>
46
- <td><select id = 'selectbox_4' disabled><option value = o1>Option 1<option value = o2>Option 2
47
-
48
- <td>This box has an id
49
-
50
- </table>
51
-
52
-
53
-
54
-
55
- </html>
@@ -1,26 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Tables
5
- </title>
6
- </head>
7
- <body>
8
- CVS Revision: "$Revision: 1.1 $"
9
- <br>
10
- <br>
11
- <table >
12
- <tr>
13
- <td> Row 1 Col1 </td>
14
- <td> Row 1 Col2 </td>
15
- </tr>
16
- <tr>
17
- <td> Row 2 Col1 </td>
18
- <td> Row 2 Col2 </td>
19
- </tr>
20
- <tr>
21
- <td> Row 3 Col1 </td>
22
- <td> Row 3 Col2 </td>
23
- </tr>
24
- </table>
25
- </body>
26
- </html>