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,104 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- simple table buttons
5
- </title>
6
- </head>
7
- <body>
8
-
9
- <input type = text name="confirmtext">
10
- <table >
11
- <tr>
12
- <td> <input type = button value = "Click" id = "b1" onClick = "document.all.confirmtext.value = 'CLICK1';"><td>Click1 </td>
13
- </tr>
14
- <tr>
15
- <td> <input type = button value = "Click" onClick = "document.all.confirmtext.value = 'CLICK2';"><td>Click2 </td>
16
- </tr>
17
- <tr>
18
- <td> <input type = button value = "Click" onClick = "document.all.confirmtext.value = 'CLICK3';">
19
- <input type = button value = "Click too" onClick = "document.all.confirmtext.value = 'CLICK TOO';">
20
- <td>Click3</td>
21
- </tr>
22
- <tr>
23
- <td> <input type = text value = "Im a text field" ></td>
24
- </tr>
25
-
26
-
27
- <tr>
28
- <td>An input field and a button in the same cell<br> <input type = text name='same_cell' value = "Click ->" ><input type=button value = "Click To Change <-" onClick = "document.all.same_cell.value = '';" </td>
29
- </tr>
30
-
31
- </table>
32
-
33
- This table has 3 images in each row. Each is a seperate cell
34
- <table>
35
- <tr>
36
- <td><img src = images/1.gif><td><img src = images/2.gif><td><img src = images/3.gif>
37
- <tr>
38
- <td><img src = images/1.gif><td><img src = images/2.gif><td><img src = images/3.gif>
39
- <tr>
40
- <td><img src = images/1.gif><td><img src = images/2.gif><td><img src = images/3.gif>
41
- </table>
42
-
43
- This table has 3 images in each row. They are all in the same cell
44
- <table>
45
- <tr>
46
- <td><img src = images/1.gif><img src = images/2.gif><img src = images/3.gif>
47
- <tr>
48
- <td><img src = images/1.gif><img src = images/2.gif><img src = images/3.gif>
49
- <tr>
50
- <td><img src = images/1.gif><img src = images/2.gif><img src = images/3.gif>
51
- </table>
52
-
53
-
54
- <style type="text/css">
55
- div.hide { display: none; margin-left: auto; margin-right: auto; }
56
- div.show { display: block; margin-left: auto; margin-right: auto; }
57
-
58
- tr.hide { display: none; margin-left: auto; margin-right: auto; }
59
- tr.show { display: block; margin-left: auto; margin-right: auto; }
60
-
61
- </style>
62
-
63
-
64
- <script language=javascript>
65
-
66
- function expand_or_shrink_row( row ) {
67
-
68
- which_row = 'r' + row;
69
- which_image = 'i' + row;
70
- if ( document.getElementById(which_row).className=='hide' ){
71
- document.getElementById(which_row).className='show';
72
- document.getElementById(which_image).src='images/minus.gif';
73
-
74
- }
75
- else {
76
- document.getElementById(which_row).className='hide'
77
- document.getElementById(which_image).src='images/plus.gif'
78
- }
79
-
80
- }
81
-
82
- </script>
83
-
84
- The table below can show or hide its rows. Click the + (or -) to show or hide the row
85
- <table id=show_hide>
86
- <tr><td><img id=i1 width=30 height=30 src = images/plus.gif onClick='javascript:expand_or_shrink_row("1")'>
87
- <tr class = hide id=r1><td>Line 1
88
- <tr><td><img id=i2 width=30 height=30 src = images/plus.gif onClick='javascript:expand_or_shrink_row("2")'>
89
- <tr class = hide id=r2><td>Line 2
90
- <tr><td><img id=i3 width=30 height=30 src = images/plus.gif onClick='javascript:expand_or_shrink_row("3")'>
91
- <tr class = hide id=r3><td>Line 3
92
- <tr><td><img id=i4 width=30 height=30 src = images/plus.gif onClick='javascript:expand_or_shrink_row("4")'>
93
- <tr class = hide id=r4><td>Line 4
94
- <tr><td><img id=i5 width=30 height=30 src = images/plus.gif onClick='javascript:expand_or_shrink_row("5")'>
95
- <tr class = hide id=r5><td>Line 5
96
- </table>
97
-
98
-
99
-
100
-
101
-
102
- </body>
103
-
104
- </html>
@@ -1,76 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for testing column value extraction
5
- </title>
6
- </head>
7
- <body>
8
- CVS Revision: "$Revision: 1.2 $"
9
- <br>
10
- <br>
11
- <b>Test page for testing column value extraction</b>
12
- <br>
13
- <br>
14
- Single Column
15
- <table border="1">
16
- <tr>
17
- <td>R1C1</td>
18
- </tr>
19
- <tr>
20
- <td>R2C1</td>
21
- </tr>
22
- <tr>
23
- <td>R3C1</td>
24
- </tr>
25
- </table>
26
- <br>
27
- Multiple Column
28
- <table border="1">
29
- <tr>
30
- <td>R1C1</td>
31
- <td>R1C2</td>
32
- <td>R1C3</td>
33
- </tr>
34
- <tr>
35
- <td>R2C1</td>
36
- <td>R2C2</td>
37
- <td>R2C3</td>
38
- </tr>
39
- <tr>
40
- <td>R3C1</td>
41
- <td>R3C2</td>
42
- <td>R3C3</td>
43
- </tr>
44
- </table>
45
- <br>
46
- Multiple Column With Jagged ColSpan
47
- <table border="1">
48
- <tr>
49
- <td>R1C1</td>
50
- <td>R1C2</td>
51
- <td>R1C3</td>
52
- </tr>
53
- <tr>
54
- <td colspan="2">R2C1</td>
55
- <td>R2C2</td>
56
- </tr>
57
- <tr>
58
- <td>R3C1</td>
59
- <td>R3C2</td>
60
- <td>R3C3</td>
61
- </tr>
62
- <tr>
63
- <td colspan="3">R4C1</td>
64
- </tr>
65
- <tr>
66
- <td rowspan="2">R5C1</td>
67
- <td>R5C2</td>
68
- <td>R5C3</td>
69
- </tr>
70
- <tr>
71
- <td>R6C2</td>
72
- <td>R6C3</td>
73
- </tr>
74
- </table>
75
- </body>
76
- </html>
@@ -1,142 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Tables
5
- </title>
6
- </head>
7
- <body>
8
-
9
- <script language=javascript>
10
-
11
- function addRow() {
12
-
13
- var tbody = document.getElementById('t1' ).getElementsByTagName("TBODY")[0];
14
-
15
- // Create a TR
16
- var row = document.createElement("TR");
17
- row.setAttribute("class", "normal");
18
- row.setAttribute("border", "1");
19
-
20
- for (j=0 ; j < document.getElementById('t1' ).rows(1).cells.length; j++) {
21
- // Create a TD
22
- var td = document.createElement("TD");
23
- td.setAttribute("border","1");
24
- td.innerHTML = "New Cell";
25
-
26
- // Assign TD to TR and then assign TR to TBODY
27
- row.appendChild(td);
28
- }
29
- tbody.appendChild(row);
30
- }
31
-
32
- </script>
33
-
34
-
35
- CVS Revision: "$Revision: 1.8 $"
36
- <br>
37
- <br>
38
- <table >
39
- <tr>
40
- <td> Row 1 Col1
41
- <td> Row 1 Col2
42
- <tr>
43
- <td> Row 2 Col1
44
- <td> Row 2 Col2
45
- </table>
46
-
47
-
48
- <br>
49
- <br>
50
- <table id= 't1'>
51
- <Tr><td colspan=2>Table 2
52
- <tr>
53
- <td id=cell1> Row 1 Col1
54
- <td> Row 1 Col2
55
- <tr id=row1>
56
- <td> Row 2 Col1
57
- <td> Row 2 Col2
58
- <tr>
59
- <td> Row 3 Col1
60
- <td> Row 3 Col2
61
- <tr>
62
- <td> Row 4 Col1
63
- <td> Row 4 Col2
64
-
65
- </table>
66
- <br>
67
- <input type=button value='add row' onClick='javascript:addRow()'>
68
-
69
- <br>
70
- <br>
71
-
72
- The following has a nested table
73
- <table id='t2' border=1>
74
- <tr>
75
- <td>
76
- cell 1
77
- <td>
78
- cell2
79
- <tr>
80
- <td>
81
- <table><tr><td>nest1<td>nest2</table>
82
- <td>
83
- Normal
84
-
85
- </table>
86
-
87
-
88
- <br>
89
- This table has 3 body tags. Mostly based on http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/tbody.asp?frame=true
90
- <br><br>
91
- <table id=body_test>
92
- <THEAD>
93
- <TR>
94
- <TD>
95
- This text is in the THEAD.
96
- </TD>
97
- </TR>
98
- </THEAD>
99
- <TBODY>
100
- <TR>
101
- <TD>
102
- This text is in the FRST TBODY.
103
- </TD>
104
- </TR>
105
- </TBODY>
106
-
107
- <TBODY>
108
- <TR>
109
- <TD>
110
- This text is in the SECOND TBODY.
111
- </TD>
112
- </TR>
113
- <TR>
114
- <TD>
115
- This text is also in the SECOND TBODY.
116
- </TD>
117
- </TR>
118
- </TBODY>
119
-
120
- <TBODY>
121
- <TR>
122
- <TD>
123
- This text is in the THIRD TBODY.
124
- </TD>
125
- </TR>
126
- </TBODY>
127
-
128
- </TABLE>
129
-
130
- <table id=pic_table>
131
- <tr>
132
- <td> A picture is in the next cell
133
- <td><img src=images/circle.jpg>
134
-
135
- <td> A link is in the next cell
136
- <td><a href = http://google.com>Google</a>
137
-
138
-
139
-
140
-
141
- </body>
142
- </html>
@@ -1,30 +0,0 @@
1
-
2
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
3
- <HTML>
4
- <HEAD>
5
- <title>TextArea-MultiLine</title>
6
- </HEAD>
7
- <body MS_POSITIONING="FlowLayout">
8
-
9
- <form name="Form1" method="post" action="textArea.html" id="Form1">
10
-
11
- <textarea name="txtMultiLine1" id="txtMultiLine1" style="height:152px;width:248px;">Hello World</textarea>
12
- <textarea name="txtReadOnly" id="txtReadOnly" style="height:152px;width:248px;" readonly></textarea>
13
- </form>
14
- <form name="Form2" method="post" action="textArea.html" id="Form1">
15
-
16
- <textarea name="txtMultiLine2" id="txtMultiLine2" style="height:152px;width:248px;">
17
- IExplore.exe is at the top level; it is a small application that is instantiated when Internet Explorer is loaded. This executable application uses Internet Explorer components to perform the navigation, history maintenance, favorites maintenance, HTML parsing and rendering, and so on, while it supplies the toolbar and frame for the stand-alone browser. IExplorer.exe directly hosts the Shdocvw.dll component.
18
- </textarea>
19
- <textarea name="txtDisabled" id="txtDisabled" disabled>
20
- Disabled here </textarea>
21
- <form name="Form3" method="post" action="textArea.html" id="Form1">
22
-
23
- <textarea name="txtMultiLine3" id="txtMultiLine3" style="height:152px;width:248px;">
24
- Shdocvw.dll in turn hosts the Mshtml.dll component, as well as any other Active Document component (such as a Microsoft Office application) that can be loaded in place in the browser when the user navigates to a specific document type. Shdocvw.dll supplies the functionality associated with navigation, in-place linking, favorites and history management, and PICS support. This dynamic-link library (DLL) also exposes interfaces to its host to allow it to be hosted separately as an ActiveX control. The Shdocvw.dll component is more frequently referred to as the WebBrowser Control. In-place linking refers to the ability to click a link in the HTML of the loaded document and to load a new HTML document in the same instance of the WebBrowser Control. If only Mshtml.dll is being hosted, a click on the link results in a new instance of the browser.
25
- </textarea>
26
- </form>
27
- </form>
28
- </body>
29
- </HTML>
30
-
@@ -1,87 +0,0 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Text Fields
5
- </title>
6
- </head>
7
- <body>
8
- CVS Revision: "$Revision: 1.6 $"
9
-
10
- <script>
11
- function addEvent(e) {
12
- document.all.events_text.value = document.all.events_text.value + "\n" + e
13
- }
14
- </script>
15
-
16
-
17
-
18
- <br>
19
- <br>
20
- <table>
21
-
22
- <tr>
23
- <td>
24
- <input type = text name = text1 value = 'Hello World'>number 1
25
- <br>
26
- <label for=text2>Label For this Field </label><input type = text id= text2 value = 'goodbye all'>
27
-
28
-
29
- <td>These text fields are not in a form
30
-
31
-
32
- <tr>
33
- <td>
34
- <input type = text name = disabled value = "Cant enter text in me" disabled>
35
- <td>
36
- Disabled text box
37
-
38
- <tr>
39
- <td>
40
- <input type = text name = readOnly value = "Cant enter text in me" readonly>
41
- <br>
42
- <label for=readOnly2 id=label2>Another Label (pointless- its a readonly box!) </label><input type = text id= readOnly2 value = "Cant enter text in me" readonly>
43
- <td>
44
- readonly text boxes
45
-
46
-
47
-
48
-
49
- <form name = test1 method = get action = pass.html>
50
- <tr>
51
- <td>
52
- <input type = text name = text1 value = 'Ruby'>
53
- <td> This is used in text1 in form test1
54
-
55
-
56
-
57
- </form>
58
- </table>
59
-
60
- These text fields are used to test :beforeText and :afterText
61
- <br>
62
- <input type = text name = beforetest value = 'Before Text Test'>This Text After
63
- <br>
64
- This Text Before<input type = text name=aftertest value = 'AfterText Test' title = "This used to test :afterText">
65
-
66
- <br>
67
- <br>
68
-
69
- This Field has javascript events in it
70
- <input type = text name= events_tester onKeyUp='javascript:addEvent("keyup")' onKeyDown='javascript:addEvent("keydown")' onKeyPress='javascript:addEvent("keypress")'>
71
- <br>
72
-
73
- <textarea name = events_text cols = 20 rows = 10 ></textarea>
74
- <input type=button onClick='document.all.events_text.value=""' value="Clear Events Box">
75
-
76
-
77
- <br>
78
- Password Fields
79
- <br>
80
-
81
- Password With Name<input type = password name =password1>
82
- <br>
83
- <label for=password1>Password With ID ( the text here is a label for it )</label><input type = password id =password1>
84
-
85
-
86
-
87
- </html>
@@ -1,44 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- </head>
5
- <body>
6
- To be, or not to be: that is the question:<br>
7
- Whether 'tis nobler in the mind to suffer<br>
8
- The slings and arrows of outrageous fortune,<br>
9
- Or to take arms against a sea of troubles,<br>
10
- And by opposing end them? To die: to sleep:<br>
11
- No more; and by a sleep to say we end<br>
12
- The heartache and the thousand natural shocks<br>
13
- That flesh is heir to,--'t is a consummation<br>
14
- Devoutly to be wish'd. To die, to sleep;<br>
15
- To sleep: perchance to dream: ay, there's the rub:<br>
16
- For in that sleep of death what dreams may come,<br>
17
- When we have shuffled off this mortal coil,<br>
18
- Must give us pause: there's the respect<br>
19
- That makes calamity of so long life;<br>
20
- For who would bear the whips and scorns of time,<br>
21
- The oppressor's wrong, the proud man's contumely,<br>
22
- The pangs of despised love, the law's delay,<br>
23
- The insolence of office and the spurns<br>
24
- That patient merit of the unworthy takes,<br>
25
- When he himself might his quietus make<br>
26
- With a bare bodkin? who would fardels bear,<br>
27
- To grunt and sweat under a weary life,<br>
28
- But that the dread of something after death,<br>
29
- The undiscover'd country from whose bourn<br>
30
- No traveller returns, puzzles the will<br>
31
- And makes us rather bear those ills we have<br>
32
- Than fly to others that we know not of?<br>
33
- Thus conscience does make cowards of us all;<br>
34
- And thus the native hue of resolution<br>
35
- Is sicklied o'er with the pale cast of thought,<br>
36
- And enterprises of great pith and moment<br>
37
- With this regard their currents turn awry,<br>
38
- And lose the name of action.<br>
39
- <br>
40
- Messages 42<br>
41
- <br>
42
- <br>
43
- </body>
44
- </html>
data/unittests/ie_mock.rb DELETED
@@ -1,93 +0,0 @@
1
- # mock library for testing the IE controller
2
- require 'watir'
3
-
4
- class FakeFrame
5
- def length
6
- return 0
7
- end
8
- end
9
-
10
- class FakeAll
11
- def initialize(doc)
12
- @doc = doc
13
- end
14
- def tags(tag)
15
- @doc.links
16
- end
17
- end
18
-
19
-
20
- class FakeDoc
21
-
22
- attr_accessor :links, :all
23
-
24
- def initialize()
25
- @links = ""
26
- @all = FakeAll.new(self)
27
- end
28
-
29
- def frames
30
- return FakeFrame.new()
31
- end
32
-
33
- def readyState
34
- return "complete"
35
- end
36
-
37
- def addLink(value)
38
- if @links.nil?
39
- @links = value
40
- else
41
- @links << value
42
- end
43
- end
44
-
45
- def url
46
- return "file://fake"
47
- end
48
-
49
- end
50
-
51
- class StubExplorer
52
-
53
- attr_accessor :timeToWait
54
-
55
- def initialize()
56
- @timeToWait = 1
57
- @visible = $HIDE_IE
58
- @document = FakeDoc.new()
59
- end
60
-
61
- def document
62
- return @document
63
- end
64
-
65
- def busy ()
66
- sleep @timeToWait
67
- return FALSE
68
- end
69
-
70
- def readyState
71
- return 4
72
- end
73
-
74
- def visible=(value)
75
- end
76
-
77
- end
78
-
79
- class TestIE < Watir::IE
80
-
81
- def create_browser_window
82
- @ie = StubExplorer.new()
83
- end
84
-
85
- def addLink(link)
86
- @ie.document.addLink(link)
87
- end
88
-
89
- def setTimeToWait(time = 1)
90
- @ie.timeToWait = time
91
- end
92
-
93
- end
data/unittests/ie_test.rb DELETED
@@ -1,50 +0,0 @@
1
- # Unit Test for Internet Explorer
2
- # revision: $Revision: 1.14 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'win32ole'
6
- require 'unittests/ie_mock'
7
- require 'test/unit'
8
-
9
- class TC_ie < Test::Unit::TestCase
10
- include Watir
11
-
12
- def setup
13
- @faked_ie = TestIE.new
14
- end
15
-
16
- def test_waitForIE
17
- wait_time = 1
18
- # @faked_ie.logger.level = Logger::DEBUG
19
-
20
- @faked_ie.setTimeToWait wait_time
21
- begin_time = Time.now
22
- @faked_ie.wait
23
- elapsed_time = Time.now - begin_time
24
- assert_in_delta(wait_time, elapsed_time, 0.5)
25
- end
26
-
27
- # is this correct?
28
- def test_getLink_ByIndexReturnsNilOnNoLinks
29
- assert_nil(@faked_ie.getLink(:index, 1))
30
- assert_nil(@faked_ie.getLink(:index, 1))
31
- end
32
-
33
- def test_getLink_ByBadHow
34
- @faked_ie.addLink "foo"
35
- assert_raise(MissingWayOfFindingObjectException) do
36
- @faked_ie.getLink(:no_such_mechanism, "verifying error handling")
37
- end
38
- end
39
-
40
- # is this correct?
41
- def test_getLink_ByUrlReturnsNilOnNoLinks
42
- assert_nil(@faked_ie.getLink(:url, "whatever"))
43
- end
44
-
45
- # is this correct?
46
- def test_getLink_ByTextReturnsNilOnNoLinks
47
- assert_nil(@faked_ie.getLink(:text, "whatever"))
48
- end
49
- end
50
-