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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a0bd050e4d97703802051446eb12d01751b5e63a10fe70353f0f955ac2bb9424
4
+ data.tar.gz: e573957fe4cd87d311af62b9a77ec8c6383f65f1e4ead17e5f117c40f31f87f8
5
+ SHA512:
6
+ metadata.gz: 9409ddc8d5914e07ce3f8ef316be713d09bdbea6d130dc1bdf6be693930825b25baefd9dc200f5386a1a53955b2bbef7f48375e911897db2db33be4a337b85f3
7
+ data.tar.gz: fe6668eae425bc81e1a396dd81f41196d72d217eedca95a752e20c038fa43e55c87a951620ae37fc834517cbadf4b7e42b360b86adcdbba0798f929caf2ec866
data/.document ADDED
@@ -0,0 +1,4 @@
1
+ README.rdoc
2
+ LICENSE
3
+ lib/watir/**/*.rb
4
+ lib/watir.rb
@@ -0,0 +1,16 @@
1
+ ## Meta -
2
+ Watir Version:
3
+ Selenium Version:
4
+ Browser Version:
5
+ Browser Driver Version:
6
+ OS Version:
7
+
8
+ ## Expected Behavior -
9
+
10
+ ## Actual Behavior -
11
+
12
+ ## Steps to reproduce -
13
+ <!--
14
+ Please be sure to include an SSCCE (Short, Self Contained, Correct [compilable] example) http://sscce.org/
15
+ If you can't provide a link to the page, consider creating a reproducible page on https://jsfiddle.net/
16
+ -->
@@ -0,0 +1,55 @@
1
+ name: Chrome Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ local-tests:
10
+ name: Local Tests
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ ruby: [ 3.0, 3.2 ]
17
+ steps:
18
+ - name: Checkout source tree
19
+ uses: actions/checkout@v2
20
+ - name: Setup Fluxbox
21
+ if: matrix.os == 'ubuntu-latest'
22
+ run: sudo apt-get -y install fluxbox
23
+ - name: Start XVFB
24
+ if: matrix.os == 'ubuntu-latest'
25
+ run: Xvfb :99 -screen 0 1920x1280x24 > /dev/null 2>&1 &
26
+ - name: Start Fluxbox
27
+ if: matrix.os == 'ubuntu-latest'
28
+ run: fluxbox -display :99 &
29
+ - name: Set Windows resolution
30
+ if: matrix.os == 'windows-latest'
31
+ run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
32
+ - name: Set Mac resolution
33
+ if: ${{ matrix.os == 'macos-latest' }}
34
+ run: |
35
+ system_profiler SPDisplaysDataType | grep Resolution
36
+ "/Library/Application Support/VMware Tools/vmware-resolutionSet" 2560 1440
37
+ system_profiler SPDisplaysDataType | grep Resolution
38
+ - name: Install Ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby }}
42
+ - name: Install gems
43
+ run: bundle install
44
+ - name: Remove driver directories Windows
45
+ if: matrix.os == 'windows-latest'
46
+ run: |
47
+ rm "$env:ChromeWebDriver" -r -v
48
+ - name: Remove driver directories Non-Windows
49
+ if: matrix.os != 'windows-latest'
50
+ run: |
51
+ sudo rm -rf $CHROMEWEBDRIVER
52
+ - name: Run tests
53
+ run: bundle exec rake spec:chrome
54
+ env:
55
+ DISPLAY: :99.0
@@ -0,0 +1,44 @@
1
+ name: Edge Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ local-tests:
10
+ name: Local Tests
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [macos-latest, windows-latest]
16
+ ruby: [ 3.0, 3.2 ]
17
+ steps:
18
+ - name: Checkout source tree
19
+ uses: actions/checkout@v2
20
+ - name: Set Windows resolution
21
+ if: matrix.os == 'windows-latest'
22
+ run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
23
+ - name: Set Mac resolution
24
+ if: ${{ matrix.os == 'macos-latest' }}
25
+ run: |
26
+ system_profiler SPDisplaysDataType | grep Resolution
27
+ "/Library/Application Support/VMware Tools/vmware-resolutionSet" 2560 1440
28
+ system_profiler SPDisplaysDataType | grep Resolution
29
+ - name: Install Ruby
30
+ uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby }}
33
+ - name: Install gems
34
+ run: bundle install
35
+ - name: Remove driver directories Windows
36
+ if: matrix.os == 'windows-latest'
37
+ run: |
38
+ rm "$env:EdgeWebDriver" -r -v
39
+ - name: Remove driver directories Non-Windows
40
+ if: matrix.os != 'windows-latest'
41
+ run: |
42
+ sudo rm -rf $EDGEWEBDRIVER
43
+ - name: Run tests
44
+ run: bundle exec rake spec:edge
@@ -0,0 +1,55 @@
1
+ name: Firefox Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ local-tests:
10
+ name: Local Tests
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ ruby: [ 3.0, 3.2 ]
17
+ steps:
18
+ - name: Checkout source tree
19
+ uses: actions/checkout@v2
20
+ - name: Setup Fluxbox
21
+ if: matrix.os == 'ubuntu-latest'
22
+ run: sudo apt-get -y install fluxbox
23
+ - name: Start XVFB
24
+ if: matrix.os == 'ubuntu-latest'
25
+ run: Xvfb :99 -screen 0 1920x1280x24 > /dev/null 2>&1 &
26
+ - name: Start Fluxbox
27
+ if: matrix.os == 'ubuntu-latest'
28
+ run: fluxbox -display :99 &
29
+ - name: Set Windows resolution
30
+ if: matrix.os == 'windows-latest'
31
+ run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
32
+ - name: Set Mac resolution
33
+ if: ${{ matrix.os == 'macos-latest' }}
34
+ run: |
35
+ system_profiler SPDisplaysDataType | grep Resolution
36
+ "/Library/Application Support/VMware Tools/vmware-resolutionSet" 2560 1440
37
+ system_profiler SPDisplaysDataType | grep Resolution
38
+ - name: Install Ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby }}
42
+ - name: Install gems
43
+ run: bundle install
44
+ - name: Remove driver directories Windows
45
+ if: matrix.os == 'windows-latest'
46
+ run: |
47
+ rm "$env:GeckoWebDriver" -r -v
48
+ - name: Remove driver directories Non-Windows
49
+ if: matrix.os != 'windows-latest'
50
+ run: |
51
+ sudo rm -rf $GECKOWEBDRIVER
52
+ - name: Run tests
53
+ run: bundle exec rake spec:firefox
54
+ env:
55
+ DISPLAY: :99
@@ -0,0 +1,30 @@
1
+ name: IE Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ local-tests:
10
+ name: Local Tests
11
+ runs-on: windows-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ ruby: [ 3.0, 3.2 ]
16
+ steps:
17
+ - name: Checkout source tree
18
+ uses: actions/checkout@v2
19
+ - name: Set Windows resolution
20
+ run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
21
+ - name: Install Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ - name: Install gems
26
+ run: bundle install
27
+ - name: Run tests
28
+ run: bundle exec rake spec:ie
29
+ env:
30
+ GITHUB_TOKEN: ${{ github.token }}
@@ -0,0 +1,38 @@
1
+ name: Safari Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ local-tests:
10
+ name: Local Tests
11
+ runs-on: macos-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ ruby: [ 3.0, 3.2 ]
16
+ steps:
17
+ - name: Checkout source tree
18
+ uses: actions/checkout@v2
19
+ - name: Set Mac resolution
20
+ run: |
21
+ system_profiler SPDisplaysDataType | grep Resolution
22
+ "/Library/Application Support/VMware Tools/vmware-resolutionSet" 2560 1440
23
+ system_profiler SPDisplaysDataType | grep Resolution
24
+ - name: Install Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ - name: Install gems
29
+ run: bundle install
30
+ - name: Configure safaridriver
31
+ run: |
32
+ defaults write com.apple.Safari IncludeDevelopMenu YES
33
+ defaults write com.apple.Safari AllowRemoteAutomation 1
34
+ sudo safaridriver --enable
35
+ safaridriver --version
36
+ safaridriver -p 0 &
37
+ - name: Run tests
38
+ run: bundle exec rake spec:safari
@@ -0,0 +1,60 @@
1
+ name: Unit Tests
2
+
3
+ on:
4
+ - workflow_dispatch
5
+ - push
6
+ - pull_request
7
+
8
+ jobs:
9
+ documentation-test:
10
+ name: Yard Doctest
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout source tree
14
+ uses: actions/checkout@v2
15
+ - name: Setup Fluxbox
16
+ run: sudo apt-get -y install fluxbox
17
+ - name: Start XVFB
18
+ run: Xvfb :99 -screen 0 1920x1280x24 > /dev/null 2>&1 &
19
+ - name: Start Fluxbox
20
+ run: fluxbox -display :99 &
21
+ - name: Install Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: 3.0
25
+ - name: Install gems
26
+ run: bundle install
27
+ - name: Run tests
28
+ run: bundle exec rake yard:doctest
29
+
30
+ unit-test:
31
+ name: Unit Tests
32
+ runs-on: ubuntu-latest
33
+ strategy:
34
+ fail-fast: false
35
+ matrix:
36
+ ruby: ['3.0', '3.1', '3.2', 'jruby-9.4.0.0', 'truffleruby-22.3.0']
37
+ steps:
38
+ - name: Checkout source tree
39
+ uses: actions/checkout@v2
40
+ - name: Install Ruby
41
+ uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: ${{ matrix.ruby }}
44
+ - name: Install gems
45
+ run: bundle install
46
+ - run: bundle exec rake spec:unit
47
+
48
+ linter-test:
49
+ name: Rubocop Tests
50
+ runs-on: ubuntu-latest
51
+ steps:
52
+ - name: Checkout source tree
53
+ uses: actions/checkout@v2
54
+ - name: Install Ruby
55
+ uses: ruby/setup-ruby@v1
56
+ with:
57
+ ruby-version: 3.0
58
+ - name: Install gems
59
+ run: bundle install
60
+ - run: bundle exec rubocop
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ *.sw?
5
+ .DS_Store
6
+ coverage
7
+ rdoc
8
+ .yardoc
9
+ Gemfile.lock
10
+ .rvmrc
11
+ *.rbc
12
+ .rbx/*
13
+ chromedriver.log
14
+ support/html.html
15
+ support/svg.html
16
+ /doc
17
+ .idea
18
+ .ruby-version
19
+ .envrc
20
+ .projections.json
21
+ bin/
data/.rubocop.yml ADDED
@@ -0,0 +1,114 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ require:
4
+ - rubocop-performance
5
+ - rubocop-rake
6
+ - rubocop-rspec
7
+
8
+ AllCops:
9
+ TargetRubyVersion: 3.0
10
+ NewCops: enable
11
+ Exclude:
12
+ - 'lib/watir/elements/html_elements.rb'
13
+ - 'lib/watir/elements/svg_elements.rb'
14
+
15
+ Gemspec/DevelopmentDependencies:
16
+ Enabled: false
17
+
18
+ Layout/SpaceInsideHashLiteralBraces:
19
+ EnforcedStyle: no_space
20
+
21
+ Metrics/AbcSize:
22
+ Max: 23
23
+ Exclude:
24
+ - 'lib/watir/locators/element/selector_builder.rb'
25
+ - 'lib/watir/locators/element/selector_builder/*.rb'
26
+ - 'lib/watir/generator/base/generator.rb'
27
+ - 'spec/locator_spec_helper.rb'
28
+
29
+ Metrics/BlockLength:
30
+ Exclude:
31
+ - 'support/doctest_helper.rb'
32
+ - 'watir.gemspec'
33
+ - 'Rakefile'
34
+
35
+ Metrics/ClassLength:
36
+ Max: 93
37
+ Exclude:
38
+ - 'lib/watir/capabilities.rb'
39
+ - 'lib/watir/locators/element/matcher.rb'
40
+ - 'lib/watir/locators/element/selector_builder.rb'
41
+ - 'lib/watir/locators/element/selector_builder/xpath.rb'
42
+ - 'lib/watir/browser.rb'
43
+ - 'lib/watir/window.rb'
44
+ - 'lib/watir/elements/element.rb'
45
+ - 'lib/watir/elements/select.rb'
46
+ - 'lib/watir/generator/base/spec_extractor.rb'
47
+ - 'lib/watir/element_collection.rb'
48
+ - 'spec/**/*_spec.rb'
49
+
50
+ Metrics/CyclomaticComplexity:
51
+ Max: 9
52
+ Exclude:
53
+ - 'lib/watir/locators/element/selector_builder.rb'
54
+
55
+ # Configuration parameters: CountComments.
56
+ Metrics/MethodLength:
57
+ Max: 18
58
+ Exclude:
59
+ - 'lib/watir/locators/element/selector_builder.rb'
60
+ - 'lib/watir/locators/element/selector_builder/regexp_disassembler.rb'
61
+
62
+ Metrics/ModuleLength:
63
+ Exclude:
64
+ - 'spec/**/*'
65
+
66
+ Metrics/PerceivedComplexity:
67
+ Max: 10
68
+
69
+ RSpec/AnyInstance:
70
+ Enabled: false
71
+
72
+ RSpec/BeforeAfterAll:
73
+ Enabled: false
74
+
75
+ RSpec/ExampleLength:
76
+ Enabled: false
77
+
78
+ RSpec/IndexedLet:
79
+ Enabled: false
80
+
81
+ RSpec/MultipleExpectations:
82
+ Enabled: false
83
+
84
+ RSpec/MultipleMemoizedHelpers:
85
+ Exclude:
86
+ - 'spec/watirspec/capabilities_spec.rb'
87
+
88
+ RSpec/NoExpectationExample:
89
+ Exclude:
90
+ - 'spec/watirspec/cookies_spec.rb'
91
+
92
+ Style/ArgumentsForwarding:
93
+ Enabled: false
94
+
95
+ Style/BlockDelimiters:
96
+ EnforcedStyle: braces_for_chaining
97
+
98
+ Style/CommentedKeyword:
99
+ Enabled: false
100
+
101
+ # truthy is not true
102
+ Style/DoubleNegation:
103
+ Enabled: false
104
+
105
+ Style/GlobalVars:
106
+ AllowedVariables:
107
+ - $browser
108
+
109
+ # Need to add new keys into hash during iteration
110
+ Style/HashEachMethods:
111
+ Enabled: false
112
+
113
+ Style/OptionalBooleanParameter:
114
+ Enabled: false
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,17 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2022-12-31 19:29:43 UTC using RuboCop version 1.40.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ RSpec/PendingWithoutReason:
11
+ Exclude:
12
+ - 'spec/watirspec/browser_spec.rb'
13
+
14
+ # Offense count: 114
15
+ # Configuration parameters: AllowedConstants.
16
+ Style/Documentation:
17
+ Enabled: false