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,179 +0,0 @@
1
- # feature tests for Images
2
- # revision: $Revision: 1.32.2.1 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
- require 'ftools'
7
- require 'webrick'
8
- require 'watir/cookiemanager'
9
-
10
- class TC_Images < Test::Unit::TestCase
11
- include Watir
12
-
13
- def setup
14
- gotoImagePage
15
- @saved_img_path = build_path("sample.img.dat");
16
- end
17
-
18
- def gotoImagePage()
19
- $ie.goto($htmlRoot + "images1.html")
20
- end
21
-
22
- def test_imageExists
23
- assert_false( $ie.image(:name , "missing_name").exists? )
24
- assert( $ie.image(:name , "circle").exists? )
25
- assert( $ie.image(:name , /circ/ ).exists? )
26
-
27
- assert_false( $ie.image(:id , "missing_id").exists? )
28
- assert( $ie.image(:id , "square").exists? )
29
- assert( $ie.image(:id , /squ/ ).exists? )
30
-
31
- assert_false( $ie.image(:src, "missingsrc.gif").exists? )
32
-
33
- # BP -- This fails for me but not for Paul. It doesn't make sense to me that it should pass.
34
- # assert( $ie.image(:src , "file:///#{$myDir}/html/images/triangle.jpg").exists? )
35
- assert( $ie.image(:src , /triangle/ ).exists? )
36
-
37
- assert( $ie.image(:alt , "circle" ).exists? )
38
- assert( $ie.image(:alt , /cir/ ).exists? )
39
-
40
- assert_false( $ie.image(:alt , "triangle" ).exists? )
41
- assert_false( $ie.image(:alt , /tri/ ).exists? )
42
- end
43
-
44
- def test_image_click
45
- assert_raises(UnknownObjectException ) { $ie.image(:name, "no_image_with_this").click }
46
- assert_raises(UnknownObjectException ) { $ie.image(:id, "no_image_with_this").click }
47
- assert_raises(UnknownObjectException ) { $ie.image(:src, "no_image_with_this").click}
48
- assert_raises(UnknownObjectException ) { $ie.image(:alt, "no_image_with_this").click}
49
-
50
- # test for bug 1882
51
- $ie.text_field(:name , "text1").clear
52
- $ie.button(:value , /Pos/ ).click
53
- assert_equal('clicked' , $ie.text_field(:name , "text1" ).value )
54
-
55
- # # test for disabled button
56
- # assert_false( $ie.image(:name , 'disabler_test').disabled )
57
- # $ie.button(:name , 'disable_img').click
58
- #
59
- # assert( $ie.image(:name , 'disabler_test').disabled )
60
- # $ie.button(:name , 'disable_img').click
61
-
62
- $ie.image(:src, /button/).click
63
- assert($ie.contains_text("PASS") )
64
-
65
- end
66
-
67
-
68
-
69
- def test_imageHasLoaded
70
- assert_raises(UnknownObjectException ) { $ie.image(:name, "no_image_with_this").hasLoaded? }
71
- assert_raises(UnknownObjectException ) { $ie.image(:id, "no_image_with_this").hasLoaded? }
72
- assert_raises(UnknownObjectException ) { $ie.image(:src, "no_image_with_this").hasLoaded? }
73
- assert_raises(UnknownObjectException ) { $ie.image(:alt, "no_image_with_this").hasLoaded? }
74
-
75
- assert_false( $ie.image(:name, "themissingimage").hasLoaded? )
76
- assert( $ie.image(:name, "circle").hasLoaded? )
77
-
78
- assert( $ie.image(:alt, "circle").hasLoaded? )
79
- assert( $ie.image(:alt, /cir/ ).hasLoaded? )
80
- end
81
-
82
- def test_image_properties
83
- assert_raises(UnknownObjectException ) { $ie.image(:name, "no_image_with_this").hasLoaded? }
84
- assert_raises(UnknownObjectException ) { $ie.image(:id, "no_image_with_this").hasLoaded? }
85
- assert_raises(UnknownObjectException ) { $ie.image(:src, "no_image_with_this").hasLoaded? }
86
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).hasLoaded? }
87
-
88
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).name }
89
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).id }
90
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).src }
91
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).value }
92
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).height }
93
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).width }
94
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).fileCreatedDate }
95
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).fileSize }
96
- assert_raises(UnknownObjectException ) { $ie.image(:index, 82).alt}
97
-
98
-
99
- assert_equal( "image" , $ie.image(:index, 2).type )
100
- assert_equal( "" , $ie.image(:index, 2).name )
101
- assert_equal( "square" , $ie.image(:index, 2).id )
102
- assert_match( /square\.jpg/i ,$ie.image(:index, 2).src )
103
- assert_equal( "" , $ie.image(:index, 2).value )
104
- assert_equal( "88" , $ie.image(:index, 2).height )
105
- assert_equal( "88" , $ie.image(:index, 2).width )
106
-
107
-
108
- # this line fails, as the date is when it is installed on the local oc, not the date the file was really created
109
- #assert_equal( "03/10/2005" , $ie.image(:index, 2).fileCreatedDate )
110
- assert_equal( "788", $ie.image(:index, 2).fileSize )
111
-
112
- # alt text
113
- assert_equal('circle' , $ie.image(:index, 6).alt)
114
- assert_equal( "" , $ie.image(:index, 2).alt)
115
-
116
-
117
- # to string tests -- output should be verified!
118
- puts $ie.image(:name , "circle").to_s
119
- puts $ie.image(:index , 2).to_s
120
- end
121
-
122
- def test_image_iterator
123
- assert_equal(6 , $ie.images.length)
124
- assert_equal("" , $ie.images[2].name )
125
- assert_equal("square" , $ie.images[2].id )
126
- assert_match(/square/ , $ie.images[2].src )
127
-
128
- index = 1
129
- $ie.images.each do |i|
130
- assert_equal( $ie.image(:index, index).id , i.id )
131
- assert_equal( $ie.image(:index, index).name , i.name )
132
- assert_equal( $ie.image(:index, index).src , i.src )
133
- assert_equal( $ie.image(:index, index).height , i.height )
134
- assert_equal( $ie.image(:index, index).width , i.width )
135
-
136
- index+=1
137
- end
138
- assert_equal( index-1 , $ie.images.length )
139
- end
140
-
141
- def test_save_local_image
142
- gotoImagePage()
143
- safe_file_block(1) do
144
- assert(File.compare(@saved_img_path, $ie.images[1].src.gsub(/^file:\/\/\//, '')))
145
- end
146
- safe_file_block(2) do
147
- assert(File.compare(@saved_img_path, $ie.images[2].src.gsub(/^file:\/\/\//, '')))
148
- end
149
- end
150
-
151
- def test_save_local_image_returns_original_page
152
- gotoImagePage()
153
- safe_file_block(1) {}
154
- assert_equal(6 , $ie.images.length)
155
- end
156
-
157
- def safe_file_block(*imgstosave)
158
- clean_saved_image
159
- begin
160
- imgstosave.each {|imgidx| $ie.images[imgidx].save(build_windows_path("sample.img.dat"))}
161
- yield
162
- ensure
163
- clean_saved_image
164
- end
165
- end
166
-
167
- def clean_saved_image
168
- File.unlink(@saved_img_path) if (File.exists?(@saved_img_path))
169
- end
170
-
171
- def build_windows_path(part)
172
- build_path(part).gsub(/\//, "\\")
173
- end
174
-
175
- def build_path(part)
176
- "#{$myDir}/#{part}"
177
- end
178
- end
179
-
@@ -1,30 +0,0 @@
1
- # class useful for testing output to stdout
2
- class IOString < String
3
- def write x
4
- self.<< x
5
- end
6
- def readline!
7
- line = slice!(/^.*(\n|$)/)
8
- if $1 == "\n" then line.chop!
9
- elsif line == "" then nil
10
- else line
11
- end
12
- end
13
- def puts( x )
14
- stdout_orig = $stdout
15
- $stdout = self
16
- Kernel.puts x
17
- $stdout = stdout_orig
18
- end
19
- end
20
-
21
- module MockStdoutTestCase
22
- def setup
23
- @mockout = IOString.new ""
24
- end
25
- def teardown
26
- $stdout = STDOUT
27
- end
28
- end
29
-
30
-
@@ -1,48 +0,0 @@
1
- # unit tests for IOString in iostring.rb
2
-
3
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
4
- require 'unittests/iostring'
5
- require 'test/unit'
6
-
7
- class IOStringTests < Test::Unit::TestCase
8
- include MockStdoutTestCase
9
- def setup
10
- @mockout = IOString.new ""
11
- $stdout = @mockout
12
- end
13
- def test_io_string_write
14
- puts "hello"
15
- assert_equal "hello\n", @mockout
16
- end
17
- def test_iostring_readline
18
- puts "hello"
19
- puts "there"
20
- $stdout = STDOUT
21
- assert_equal "hello", @mockout.readline!
22
- assert_equal "there", @mockout.readline!
23
- end
24
- def test_iostring_realine_no_final_cr
25
- print "hello"
26
- $stdout = STDOUT
27
- assert_equal "hello", @mockout.readline!
28
- end
29
- def test_ending_with_cr
30
- puts "hello"
31
- @mockout.readline!
32
- assert_equal nil, @mockout.readline!
33
- end
34
- def test_ending_without_cr
35
- print "hello"
36
- @mockout.readline!
37
- assert_equal nil, @mockout.readline!
38
- end
39
- def test_blank_line
40
- puts "hello"
41
- puts
42
- puts "there"
43
- @mockout.readline!
44
- assert_equal "", @mockout.readline!
45
- end
46
- end
47
-
48
-
@@ -1,77 +0,0 @@
1
- # feature tests for JavaScript events
2
- # revision: $Revision: 1.13 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_JSEvents < Test::Unit::TestCase
8
- include Watir
9
-
10
-
11
- def gotoJavaScriptEventsPage()
12
- $ie.goto($htmlRoot + "javascriptevents.html")
13
- end
14
-
15
-
16
- def test_Button_disabled
17
- gotoJavaScriptEventsPage()
18
- assert_false($ie.button(:caption, "Button 1").enabled?)
19
- end
20
-
21
- def test_Button_Enabled
22
- gotoJavaScriptEventsPage()
23
-
24
- $ie.text_field(:name, "entertext").fire_event("onkeyup")
25
- assert($ie.button(:caption, "Button 1").enabled?)
26
-
27
- end
28
-
29
- def test_Button_click
30
-
31
- gotoJavaScriptEventsPage()
32
-
33
- puts "Firing event to make button enabled"
34
- $ie.text_field(:name, "entertext").fire_event("onKeyUp")
35
- puts "Clicking the button"
36
-
37
- $ie.button(:caption, "Button 1").click
38
- assert($ie.contains_text("PASS") )
39
- end
40
-
41
- #onMouseOver tests
42
- #window status
43
-
44
- def test_no_status_bar_exception
45
- gotoJavaScriptEventsPage()
46
- $ie.link(:text, "New Window No Status Bar").click
47
- status_bar_test_win = nil
48
- assert_nothing_raised { status_bar_test_win = Watir::IE.attach(:title, "Pass Page") }
49
- assert_raises( Watir::NoStatusBarException ) { status_bar_test_win.status }
50
- status_bar_test_win.close
51
- status_bar_test_win = nil
52
-
53
- end
54
-
55
-
56
- def test_page_nostatus
57
- gotoJavaScriptEventsPage()
58
- assert_false($ie.status == "Here is your status")
59
- end
60
-
61
- def test_page_status
62
- gotoJavaScriptEventsPage()
63
- $ie.link(:text, "Check the Status").fire_event("onMouseOver")
64
- assert($ie.status, "It worked")
65
- end
66
-
67
- def test_page_status
68
- gotoJavaScriptEventsPage()
69
- $ie.link(:text, "Clear the Status").fire_event("onMouseOver")
70
- assert($ie.status, "")
71
- end
72
- #end of window status
73
-
74
- #end of onMouseOver tests
75
-
76
- end
77
-
@@ -1,6 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
2
-
3
- require 'watir/WindowHelper'
4
-
5
- helper = WindowHelper.new
6
- helper.push_alert_button()
@@ -1,7 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
2
-
3
- require 'watir/WindowHelper'
4
-
5
-
6
- helper = WindowHelper.new
7
- helper.push_confirm_button_cancel()
@@ -1,7 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
2
-
3
- require 'watir/WindowHelper'
4
-
5
-
6
- helper = WindowHelper.new
7
- helper.push_confirm_button_ok()
@@ -1,5 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
2
- require 'watir'
3
-
4
- ie = Watir::IE.attach(:title, 'Alert Test')
5
- ie.button(:id, 'btnAlert').click
@@ -1,57 +0,0 @@
1
- # feature tests for AutoIt wrapper
2
- # revision: $Revision: 1.8 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
- require 'watir/WindowHelper'
7
-
8
- $mydir = File.expand_path(File.dirname(__FILE__)).gsub('/', '\\')
9
-
10
- class TC_JavaScript_Test < Test::Unit::TestCase
11
- include Watir
12
- @@attach = true
13
- @@javascript_page_title = 'Alert Test'
14
- @@javascript_page = $htmlRoot + 'JavascriptClick.htm'
15
-
16
- def setup
17
- begin
18
- WindowHelper.check_autoit_installed
19
- rescue Watir::Exception::WatirException
20
- puts "Problem with Autoit - is it installed?."
21
- exit
22
- rescue
23
- puts "There is a Problem with Autoit - is it installed?."
24
- exit
25
- end
26
- end
27
-
28
- def goto_javascript_page()
29
- $ie.goto(@@javascript_page)
30
- end
31
-
32
- def check_dialog(extra_file, expected_result, &block)
33
- goto_javascript_page()
34
- Thread.new { system("rubyw \"#{$mydir}\\#{extra_file}.rb\"") }
35
-
36
- block.call
37
- testResult = $ie.text_field(:id, "testResult").value
38
- assert_match( expected_result, testResult )
39
- end
40
-
41
- def test_alert_button()
42
- check_dialog('jscriptExtraAlert', /Alert OK/){ $ie.button(:id, 'btnAlert').click }
43
- end
44
- def test_alert_button2()
45
- check_dialog('jscriptPushButton', /Alert OK/){ sleep 0.1; WindowHelper.new.push_alert_button }
46
- end
47
- def test_confirm_button_ok()
48
- check_dialog('jscriptExtraConfirmOk', /Confirm OK/){ push_confirm_button }
49
- end
50
- def test_confirm_button_Cancel()
51
- check_dialog('jscriptExtraConfirmCancel', /Confirm Cancel/){push_confirm_button}
52
- end
53
-
54
- def push_confirm_button
55
- $ie.button(:id, 'btnInformation').click
56
- end
57
- end
@@ -1,169 +0,0 @@
1
- # feature tests for Links
2
- # revision: $Revision: 1.33 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_Links < Test::Unit::TestCase
8
- include Watir
9
-
10
- def gotoLinksPage()
11
- $ie.goto($htmlRoot + "links1.html")
12
- end
13
-
14
- def gotoFrameLinksPage()
15
- $ie.goto($htmlRoot + "frame_links.html")
16
- end
17
-
18
- def setup()
19
- gotoLinksPage()
20
- end
21
-
22
- def xtest_new_link_exists
23
- assert(exists?{$ie.link(:text, "test1")})
24
- assert(exists?{$ie.link(:text, /TEST/i)})
25
- assert_false(exists?{$ie.link(:text, "missing")})
26
- assert_false(exists?{$ie.link(:text, /miss/)})
27
-
28
- gotoFrameLinksPage()
29
- assert(exists?{$ie.frame("buttonFrame").link(:text, "test1")})
30
- assert_false(exists?{$ie.frame("buttonFrame").link(:text, "missing")})
31
-
32
- assert_false(exists?{ie.frame("missing").link(:text, "test1")})
33
- end
34
-
35
- def test_links_in_frames
36
- gotoFrameLinksPage()
37
-
38
- assert($ie.frame("buttonFrame").link(:text, "test1").exists?)
39
- assert_false($ie.frame("buttonFrame").link(:text, "missing").exists?)
40
-
41
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.frame("buttonFrame").link(:index, 199).href }
42
- assert_match( /links2/ ,$ie.frame("buttonFrame").link(:index, 1).href )
43
-
44
- count =0
45
- $ie.frame("buttonFrame").links.each do |l|
46
- count+=1
47
- end
48
-
49
- assert_equal( 9 , count)
50
- end
51
-
52
- def test_Link_Exists
53
- assert($ie.link(:text, "test1").exists?)
54
- assert($ie.link(:text, /TEST/i).exists?)
55
- assert_false($ie.link(:text, "missing").exists?)
56
- assert_false($ie.link(:text, /miss/).exists?)
57
-
58
- # this assert we have to build up the path
59
- # this is what it looks like if you do a to_s on the link file:///C:/watir_bonus/unitTests/html/links1.HTML
60
- # but what we get back from $htmlRoot is a mixed case, so its almost impossible for use to test this correctly
61
- # assert($ie.link(:url,'file:///C:/watir_bonus/unitTests/html/links1.HTML' ).exists?)
62
-
63
- assert($ie.link(:url, /link_pass.html/).exists?)
64
- assert_false($ie.link(:url, "alsomissing.html").exists?)
65
-
66
- assert($ie.link(:id, "link_id").exists?)
67
- assert_false($ie.link(:id, "alsomissing").exists?)
68
-
69
- assert($ie.link(:id, /_id/).exists?)
70
- assert_false($ie.link(:id, /alsomissing/).exists?)
71
-
72
- assert($ie.link(:name, "link_name").exists?)
73
- assert_false($ie.link(:name, "alsomissing").exists?)
74
-
75
- assert($ie.link(:name, /_n/).exists?)
76
- assert_false($ie.link(:name, /missing/).exists?)
77
-
78
- assert($ie.link(:title, /ti/).exists?)
79
- assert($ie.link(:title, "link_title").exists?)
80
-
81
- assert_false($ie.link(:title, /missing/).exists?)
82
-
83
- assert($ie.link(:url, /_pass/).exists?)
84
- assert_false($ie.link(:url, /dont_exist/).exists?)
85
- end
86
-
87
- def test_Link_click
88
- $ie.link(:text, "test1").click
89
- assert( $ie.contains_text("Links2-Pass") )
90
-
91
- gotoLinksPage()
92
- $ie.link(:url, /link_pass.html/).click
93
- assert( $ie.contains_text("Links3-Pass") )
94
-
95
- gotoLinksPage()
96
-
97
- $ie.link(:index, 1).click
98
- assert( $ie.contains_text("Links2-Pass") )
99
-
100
- gotoLinksPage()
101
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).click }
102
- end
103
-
104
- def test_link_properties
105
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).href }
106
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).value}
107
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).innerText }
108
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).name }
109
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).id }
110
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).disabled }
111
- assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).type }
112
-
113
- assert_match( /links2/ ,$ie.link(:index, 1).href )
114
- assert_equal( "" , $ie.link(:index, 1).value)
115
- assert_equal( "test1" , $ie.link(:index, 1).innerText )
116
- assert_equal( "" , $ie.link(:index, 1).name )
117
- assert_equal( "" , $ie.link(:index, 1).id )
118
- assert_equal( false , $ie.link(:index, 1).disabled )
119
- assert_equal( "link" , $ie.link(:index, 1).type )
120
-
121
- assert_equal( "link_id" , $ie.link(:index, 6).id )
122
- assert_equal( "link_name" , $ie.link(:index, 7).name )
123
-
124
- assert_equal( "" , $ie.link(:index, 7).title)
125
-
126
- assert_equal( "link_title" , $ie.link(:index, 8).title)
127
- end
128
-
129
- def test_link_iterator
130
- assert_equal(9, $ie.links.length )
131
- assert_equal("Link Using a name" , $ie.links[7].innerText)
132
-
133
- index = 1
134
- $ie.links.each do |link|
135
- assert_equal( $ie.link(:index, index).href , link.href )
136
- assert_equal( $ie.link(:index, index).id , link.id )
137
- assert_equal( $ie.link(:index, index).name , link.name )
138
- assert_equal( $ie.link(:index, index).innerText , link.innerText )
139
- index+=1
140
- end
141
- end
142
- end
143
-
144
- require 'unittests/iostring'
145
- class TC_showlinks < Test::Unit::TestCase
146
- include MockStdoutTestCase
147
-
148
- def test_showLinks
149
- $ie.goto($htmlRoot + "links1.html")
150
- $stdout = @mockout
151
- $ie.showLinks
152
- expected = [/^index name +id +href + text\/src$/,
153
- get_path_regex(1, "links2.html","test1"),
154
- get_path_regex(2, "link_pass.html","test1"),
155
- get_path_regex(3, "pass3.html", " / file:///#{$myDir.downcase}/html/images/button.jpg"),
156
- get_path_regex(4, "textarea.html", "new window"),
157
- get_path_regex(5, "textarea.html", "new window"),
158
- get_path_regex(6, "links1.html", "link using an id", "link_id"),
159
- get_path_regex(7, "links1.html", "link using a name", "link_name"),
160
- get_path_regex(8, "links1.html", "link using a title"),
161
- get_path_regex(9, "pass.html", "image and a text link / file:///#{$myDir.downcase}/html/images/triangle.jpg")]
162
- items = @mockout.split(/\n/).collect {|s|s.downcase.strip}
163
- expected.each_with_index{|regex, x| assert_match(regex, items[x])}
164
- end
165
-
166
- def get_path_regex(idx, name, inner, nameid="")
167
- Regexp.new("^#{idx} +#{nameid} +file:///#{$myDir.downcase}/html/#{name} *#{inner}$")
168
- end
169
- end
@@ -1,31 +0,0 @@
1
- # feature tests for minimizing and maximizing IE windows
2
- # revision: $Revision: 1.1.2.1 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_MinMax< Test::Unit::TestCase
8
- include Watir
9
- def setup
10
- $ie.goto($htmlRoot + 'pass.html')
11
- end
12
- def teardown
13
- $ie.restore
14
- end
15
- def test_minimimum
16
- $ie.minimize
17
- end
18
- def test_maximum
19
- $ie.maximize
20
- end
21
- def test_front
22
- assert $ie.front?
23
- ie2 = IE.start($htmlRoot + 'blankpage.html')
24
- assert ie2.front?
25
- assert_false $ie.front?
26
- $ie.bring_to_front
27
- assert $ie.front?
28
- ie2.close
29
- end
30
- end
31
-
@@ -1,56 +0,0 @@
1
- # feature tests for navigation
2
- # revision: $Revision: 1.12 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_Navigate< Test::Unit::TestCase
8
- include Watir
9
-
10
- def gotoPage( a )
11
- $ie.goto($htmlRoot + a)
12
- end
13
-
14
- def test_navigation
15
-
16
- $ie.clear_url_list
17
- gotoPage( 'buttons1.html')
18
- url = $ie.url.downcase.gsub('///' , '//') # no idea why this happens - we get 3 / after file:
19
- assert_equal(url.downcase , ( $htmlRoot + 'buttons1.html' ).downcase ) # the downcase is that sometimes we get capital drivee letters
20
-
21
- assert_equal( 1, $ie.url_list.length )
22
- assert_equal( url , $ie.url_list[0].gsub('\\', '/').downcase )
23
-
24
- gotoPage( 'checkboxes1.html')
25
- url = $ie.url.downcase.gsub('///' , '//') # no idea why this happens - we get 3 / after file:
26
-
27
- assert_equal($ie.title , "Test page for Check Boxes")
28
- assert_equal( 2, $ie.url_list.length )
29
- assert_equal( url , $ie.url_list[1].gsub('\\', '/').downcase )
30
-
31
- $ie.clear_url_list
32
- assert_equal( 0, $ie.url_list.length )
33
-
34
- $ie.back
35
- assert_equal($ie.title , "Test page for buttons")
36
-
37
- $ie.forward
38
- assert_equal($ie.title , "Test page for Check Boxes")
39
-
40
- $ie.checkBox(:name , "box1").set
41
- assert($ie.checkBox(:name, "box1").isSet?)
42
-
43
- $ie.refresh
44
- # Not sure how we test this. Text fields and checkboxes dont get reset if you click the browser refresh button
45
- end
46
-
47
- def test_http_errors
48
- # this is commented out as it depends on too many things.....
49
-
50
- assert_raises(NavigationException) { $ie.goto('http://localhost:3001') } # Cannot find server or DNS Error
51
- assert_raises(NavigationException) { $ie.goto('http://www.fxruby.org/dfdf' ) } # HTTP 404 - File not found
52
-
53
- end
54
-
55
- end
56
-