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,60 +0,0 @@
1
- # feature tests for css
2
- # revision: $Revision: 1.14.4.1 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_CSS < Test::Unit::TestCase
8
- include Watir
9
-
10
- def divTester( message )
11
-
12
- divs = $ie.getIE.document.getElementsByTagName("DIV")
13
- puts "Found #{divs.length} div tags"
14
- divs.each do |d|
15
- puts "Checking div #{d.id}"
16
- puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
17
- end
18
- end
19
-
20
- def isMessageDisplayed(message)
21
-
22
- s = false
23
- divs = $ie.getIE.document.getElementsByTagName("DIV")
24
- #puts "Found #{divs.length} div tags"
25
- divs.each do |d|
26
- #puts "----Checking div #{d.id} innertext is ( #{d.innerText} )"
27
-
28
- if d.innerText.to_s.downcase.match( /#{message}/i )
29
-
30
- #puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
31
- if d.invoke("className").to_s.downcase.match(/show/i)
32
- #puts "message is shown!!!"
33
- s = true
34
- end
35
-
36
- end
37
- end
38
-
39
- #puts "Not Shown " if s== false
40
- return s
41
- end
42
-
43
- def gotoCSSPage()
44
- $ie.goto($htmlRoot + "cssTest.html")
45
- end
46
-
47
- def test_SuccessMessage
48
- gotoCSSPage()
49
- $ie.button( :caption , "Success").click
50
-
51
- #isMessageDisplayed( "Success" )
52
- #divTester( "Success" )
53
- assert( isMessageDisplayed("Success") )
54
-
55
- $ie.button( :caption , "Failure").click
56
-
57
- assert_false(isMessageDisplayed("Success") )
58
- end
59
- end
60
-
@@ -1,179 +0,0 @@
1
- # feature tests for Divs, Spans and P's
2
- # revision: $Revision: 1.15 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_Divs < Test::Unit::TestCase
8
- include Watir
9
-
10
- def setup()
11
- $ie.goto($htmlRoot + "div.html")
12
- end
13
-
14
- def test_divs
15
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").click }
16
- assert_raises(UnknownObjectException) {$ie.div(:title , "div77").click }
17
-
18
- assert($ie.text_field(:name, "text1").verify_contains("0") )
19
- $ie.div(:id , "div3").click
20
- assert($ie.text_field(:name, "text1").verify_contains("1") )
21
- $ie.div(:id , "div4").click
22
- assert($ie.text_field(:name, "text1").verify_contains("0") )
23
- end
24
-
25
- def test_div_properties
26
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").text }
27
- assert_raises(UnknownObjectException) {$ie.div(:title , "div77").text }
28
-
29
- assert_equal("This div has an onClick that increments text1",
30
- $ie.div(:id , "div3").text.strip )
31
- assert_equal("This text is in a div with an id of div1 and title of test1",
32
- $ie.div(:title , "Test1").text.strip )
33
-
34
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").class_name }
35
- assert_equal("blueText" , $ie.div(:id , "div2").class_name )
36
- assert_equal("" , $ie.div(:id , "div1").class_name )
37
-
38
- assert_raises(UnknownObjectException) {$ie.div(:index , 44).class_name }
39
- assert_equal("div1" , $ie.div(:index , 1).id )
40
- assert_equal("" , $ie.div(:index , 1).class_name )
41
- assert_equal("blueText" , $ie.div(:index , 2).class_name )
42
- assert_equal("Div" , $ie.div(:index , 2).type)
43
- assert_equal("" , $ie.div(:index , 2).value)
44
- assert_equal(false , $ie.div(:index , 2).disabled)
45
- assert_equal("" , $ie.div(:index , 2).name)
46
- assert_equal("div2", $ie.div(:index , 2).id)
47
- end
48
-
49
- def test_div_iterator
50
- assert_equal( 7 , $ie.divs.length)
51
- assert_equal( "div1" , $ie.divs[1].id )
52
-
53
- index =1
54
- $ie.divs.each do |s|
55
- # puts "each - div= " + s.to_s
56
- assert_equal($ie.div(:index, index ).name , s.name )
57
- assert_equal($ie.div(:index, index ).id , s.id )
58
- assert_equal($ie.div(:index, index ).class_name , s.class_name )
59
- index +=1
60
- end
61
- assert_equal(index-1, $ie.divs.length) # -1 as we add 1 at the end of the loop
62
- end
63
-
64
- def test_objects_in_div
65
- assert($ie.div(:id, 'buttons1').button(:index,1).exists? )
66
- assert_false($ie.div(:id, 'buttons1').button(:index,3).exists? )
67
- assert($ie.div(:id, 'buttons1').button(:name,'b1').exists? )
68
-
69
- assert($ie.div(:id, 'buttons2').button(:index,1).exists? )
70
- assert($ie.div(:id, 'buttons2').button(:index,2).exists? )
71
- assert_false($ie.div(:id, 'buttons1').button(:index,3).exists? )
72
-
73
- $ie.div(:id, 'buttons1').button(:index,1).click
74
-
75
- assert_equal( 'button1' , $ie.div(:id , 'text_fields1').text_field(:index,1).value)
76
-
77
- assert_equal( 3 , $ie.div(:id , 'text_fields1').text_fields.length )
78
- end
79
-
80
- #---- Span Tests ---
81
- def test_spans
82
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").click }
83
- assert_raises(UnknownObjectException) {$ie.span(:title , "span77").click }
84
-
85
- assert($ie.text_field(:name, "text2").verify_contains("0") )
86
- $ie.span(:id , "span3").click
87
- assert($ie.text_field(:name, "text2").verify_contains("1") )
88
-
89
- $ie.span(:id , "span4").click
90
- assert($ie.text_field(:name, "text2").verify_contains("0") )
91
-
92
- end
93
-
94
- def test_span_properties
95
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").text }
96
- assert_raises(UnknownObjectException) {$ie.span(:title , "span77").text }
97
-
98
- assert_equal("This span has an onClick that increments text2" , $ie.span(:id , "span3").text.strip )
99
- assert_equal("This text is in a span with an id of span1 and title of test2" , $ie.span(:title , "Test2").text.strip )
100
-
101
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").class_name }
102
- assert_equal("blueText" , $ie.span(:id , "span2").class_name )
103
- assert_equal("" , $ie.span(:id , "span1").class_name )
104
-
105
- assert_raises(UnknownObjectException) {$ie.span(:index , 44).class_name }
106
- assert_equal("span1" , $ie.span(:index , 1).id )
107
- assert_equal("" , $ie.span(:index , 1).class_name )
108
- assert_equal("blueText" , $ie.span(:index , 2).class_name )
109
- assert_equal("Span" , $ie.span(:index , 2).type)
110
- assert_equal("" , $ie.span(:index , 2).value)
111
- assert_equal(false , $ie.span(:index , 2).disabled)
112
- assert_equal("" , $ie.span(:index , 2).name)
113
- assert_equal("span2", $ie.span(:index , 2).id)
114
- end
115
-
116
- def test_span_iterator
117
- assert_equal( 7 , $ie.spans.length)
118
- assert_equal( "span1" , $ie.spans[1].id )
119
-
120
- index = 1
121
- $ie.spans.each do |s|
122
- # puts "each - span = " + s.to_s
123
- assert_equal($ie.span(:index, index ).name , s.name )
124
- assert_equal($ie.span(:index, index ).id , s.id )
125
- assert_equal($ie.span(:index, index ).class_name , s.class_name )
126
- index +=1
127
- end
128
- assert_equal(index-1, $ie.spans.length) # -1 as we add 1 at the end of the loop
129
- end
130
-
131
- def test_objects_in_span
132
- assert($ie.span(:id, 'buttons1').button(:index,1).exists? )
133
- assert_false($ie.span(:id, 'buttons1').button(:index,3).exists? )
134
- assert($ie.span(:id, 'buttons1').button(:name,'b1').exists? )
135
-
136
- assert($ie.span(:id, 'buttons2').button(:index,1).exists? )
137
- assert($ie.span(:id, 'buttons2').button(:index,2).exists? )
138
- assert_false($ie.span(:id, 'buttons1').button(:index,3).exists? )
139
-
140
- $ie.span(:id, 'buttons1').button(:index,1).click
141
-
142
- assert_equal( 'button1' , $ie.span(:id , 'text_fields1').text_field(:index,1).value)
143
-
144
- assert_equal( 3 , $ie.span(:id , 'text_fields1').text_fields.length )
145
- end
146
-
147
- def test_p
148
- assert($ie.p(:id, 'number1').exists?)
149
- assert($ie.p(:index, 3).exists?)
150
- assert($ie.p(:title, 'test_3').exists?)
151
-
152
- assert_false($ie.p(:id, 'missing').exists?)
153
- assert_false($ie.p(:index, 8).exists?)
154
- assert_false($ie.p(:title, 'test_55').exists?)
155
-
156
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').class_name }
157
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').text }
158
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').title }
159
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').to_s }
160
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').disabled }
161
-
162
- assert_equal( 'redText' , $ie.p(:index,1).class_name)
163
- assert_equal( 'P_tag_1' , $ie.p(:index,1).title)
164
- assert_equal( 'This text is in a p with an id of number2' , $ie.p(:index,2).text)
165
- end
166
-
167
- def test_p_iterator
168
- assert_equal( 3, $ie.ps.length)
169
- assert_equal( 'italicText', $ie.ps[2].class_name)
170
- assert_equal( 'number3', $ie.ps[3].id)
171
-
172
- count=1
173
- $ie.ps.each do |p|
174
- assert_equal('number'+count.to_s , p.id)
175
- count+=1
176
- end
177
- assert_equal( count-1 , $ie.ps.length)
178
- end
179
- end
@@ -1,29 +0,0 @@
1
- # feature tests for Goto
2
- # revision: $Revision: 1.2 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_error_checker< Test::Unit::TestCase
8
- include Watir
9
-
10
- def goto_page(page)
11
- $ie.goto($htmlRoot + page)
12
- end
13
-
14
- def test_simple_checker
15
- button_checker = Proc.new{
16
- |ie| raise RuntimeError, "text 'buttons' was missing" if !ie.pageContainsText(/buttons/)
17
- }
18
-
19
- $ie.add_checker(button_checker )
20
- assert_raises( RuntimeError ) { goto_page('forms3.html') }
21
- assert_nothing_raised { goto_page('buttons1.html') }
22
-
23
- $ie.disable_checker( button_checker )
24
- assert_nothing_raised { goto_page('forms3.html') }
25
-
26
- end
27
-
28
-
29
- end
@@ -1,35 +0,0 @@
1
- # feature tests for TextArea Fields
2
- # revision: $Revision: 1.3 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_FileField < Test::Unit::TestCase
8
- include Watir
9
-
10
- def gotoPage()
11
- $ie.goto($htmlRoot + "fileupload.html")
12
- end
13
-
14
- def test_fileField_Exists
15
- gotoPage()
16
- #test for existance of 4 file area
17
- assert($ie.fileField(:name,"file1").exists?)
18
- assert($ie.fileField(:id,"file2").exists?)
19
- #test for missing
20
- assert_false($ie.fileField(:name, "missing").exists?)
21
- assert_false($ie.fileField(:name,"totallybogus").exists?)
22
- #pop one open and put something in it.
23
- $ie.fileField(:name,"file1").set($htmlRoot + "fileupload.html")
24
- #click the upload button
25
- $ie.button(:name,"upload").click
26
-
27
- assert($ie.contains_text("PASS"))
28
- end
29
-
30
- def test_iterator
31
- gotoPage()
32
- assert_equal(6, $ie.file_fields.length)
33
- end
34
-
35
- end
@@ -1,279 +0,0 @@
1
- # feature tests for Forms
2
- # revision: $Revision: 1.29 $
3
-
4
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
- require 'unittests/setup'
6
-
7
- class TC_Forms2 < Test::Unit::TestCase
8
- def setup()
9
- $ie.goto($htmlRoot + "forms2.html")
10
- end
11
-
12
- def test_Form_Exists
13
- assert($ie.form(:name, "test2").exists?)
14
- assert_false($ie.form(:name, "missing").exists?)
15
-
16
- assert($ie.form("test2").exists?)
17
- assert_false($ie.form( "missing").exists?)
18
-
19
- assert($ie.form(:index, 1).exists?)
20
- assert_false($ie.form(:index, 88).exists?)
21
-
22
- assert($ie.form(:method, "get").exists?)
23
- assert_false($ie.form(:method, "missing").exists?)
24
-
25
- assert($ie.form(:action, "pass.html").exists?)
26
- assert_false($ie.form(:action, "missing").exists?)
27
- end
28
-
29
- def test_ButtonInForm
30
- assert($ie.form(:name ,"test2").button(:caption , "Submit").exists?)
31
- end
32
- end
33
-
34
- require 'unittests/iostring'
35
- class TC_Form_Display < Test::Unit::TestCase
36
- include MockStdoutTestCase
37
- def test_showforms
38
- $ie.goto($htmlRoot + "forms2.html")
39
- $stdout = @mockout
40
- $ie.showForms
41
- assert_equal(<<END_OF_MESSAGE, @mockout)
42
- There are 4 forms
43
- Form name:
44
- id:
45
- method: get
46
- action: pass.html
47
- Form name: test2
48
- id:
49
- method: get
50
- action: pass2.html
51
- Form name: test3
52
- id:
53
- method: get
54
- action: pass2.html
55
- Form name: test2
56
- id:
57
- method: get
58
- action: pass2.html
59
- END_OF_MESSAGE
60
- end
61
- end
62
-
63
- class TC_Forms3 < Test::Unit::TestCase
64
- def setup()
65
- $ie.goto($htmlRoot + "forms3.html")
66
- end
67
-
68
- def test_Form_Exists
69
- assert($ie.form(:name, "test2").exists?)
70
- assert_false($ie.form(:name, "missing").exists?)
71
-
72
- assert($ie.form("test2").exists?)
73
- assert_false($ie.form( "missing").exists?)
74
-
75
- assert($ie.form(:index, 1).exists?)
76
- assert_false($ie.form(:index, 88).exists?)
77
-
78
- assert($ie.form(:method, "get").exists?)
79
- assert_false($ie.form(:method, "missing").exists?)
80
-
81
- assert($ie.form(:action, "pass.html").exists?)
82
- assert_false($ie.form(:action, "missing").exists?)
83
- end
84
-
85
- def test_getObject_when_non_watir_object_before_it
86
- # test for bug reported by Scott Pack, http://rubyforge.org/pipermail/wtr-general/2005-June/002223.html
87
- assert_equal("check1" , $ie.checkbox(:index,1).name )
88
- end
89
-
90
- def test_showforms # add verification of output!
91
- $ie.showForms
92
- end
93
-
94
- def test_reset
95
-
96
- $ie.text_field(:id, "t1").set("Hello, reset test!")
97
- assert_equal($ie.text_field(:id, 't1').getContents, 'Hello, reset test!')
98
-
99
- $ie.button(:caption, "Reset").click
100
- assert_equal("" , $ie.text_field(:id, 't1').getContents )
101
-
102
- # also verify it works under a form
103
- $ie.text_field(:id, "t1").set("reset test - using a form")
104
- assert_equal($ie.text_field(:id, 't1').getContents, 'reset test - using a form')
105
-
106
- $ie.form(:index,2).button(:index,2).click
107
- assert_equal("" , $ie.text_field(:id, 't1').getContents )
108
-
109
- # also verify it works under a form, this time using the :id attribute
110
- $ie.text_field(:id, "t1").set("reset test - using a form")
111
- assert_equal($ie.text_field(:id, 't1').getContents, 'reset test - using a form')
112
-
113
- $ie.form(:index,2).button(:id,'reset_button').click
114
- assert_equal("" , $ie.text_field(:id, 't1').getContents )
115
-
116
- end
117
-
118
-
119
-
120
- def test_flash1
121
- $ie.form(:name ,"test2").button(:caption , "Submit").flash
122
- end
123
-
124
- def test_objects_with_same_name
125
- assert_equal('textfield' ,$ie.text_field( :name , 'g1').value )
126
- assert_equal('button' ,$ie.button( :name , 'g1').value )
127
- assert_equal('1' ,$ie.checkbox( :name , 'g1').value )
128
- assert_equal('2' ,$ie.radio( :name , 'g1').value )
129
-
130
- assert_equal('textfield_id' ,$ie.text_field( :id , 'g1').value )
131
- assert_equal('button_id' ,$ie.button( :id , 'g1').value )
132
- assert_equal('1_id' ,$ie.checkbox( :id , 'g1').value )
133
- assert_equal('2_id' ,$ie.radio( :id , 'g1').value )
134
- end
135
-
136
- def test_flash2
137
- $ie.button(:value, 'Click Me').flash
138
- assert_raises( Watir::UnknownObjectException ) { $ie.text_field( :name , 'g177').flash }
139
- end
140
-
141
- def test_showElements # add verification!
142
- $ie.showAllObjects
143
- end
144
-
145
- def test_showText
146
- puts $ie.getText
147
- end
148
-
149
- def test_showHTML
150
- puts $ie.getHTML
151
- end
152
-
153
- def test_submitWithImage
154
- assert( $ie.button(:alt , "submit").exists? )
155
- assert( $ie.button(:alt , /sub/).exists? )
156
-
157
- assert_false( $ie.button(:alt , "missing").exists? )
158
- assert_false( $ie.button(:alt , /missing/).exists? )
159
-
160
- #assert( $ie.button(:src , "file:///#{$myDir}/html/images/button.jpg").exists? ) # this doesnt work for everybody
161
- assert( $ie.button(:src , /button/).exists? )
162
-
163
- assert_false( $ie.button(:src , "missing").exists? )
164
- assert_false( $ie.button(:src , /missing/).exists? )
165
- assert_nothing_raised("raised an exception when it shouldnt have") { $ie.button(:src , /button/).click }
166
-
167
- assert( $ie.contains_text("PASS") )
168
- end
169
- end
170
-
171
- class TC_Forms4 < Test::Unit::TestCase
172
- def setup()
173
- $ie.goto($htmlRoot + "forms4.html")
174
- end
175
-
176
- def test_find_text_field_ignoring_form
177
- assert_equal($ie.text_field(:name, 'name').getContents, 'apple') # should it raise a not-unique error instead?
178
- end
179
-
180
- def test_correct_form_field_is_found_using_form_name
181
- assert_equal($ie.form(:name, 'apple_form').text_field(:name, 'name').getContents, 'apple')
182
- assert_equal($ie.form(:name, 'banana_form').text_field(:name, 'name').getContents, 'banana')
183
- end
184
-
185
- def test_correct_form_field_is_found_using_form_index
186
- assert_equal($ie.form(:index, 1).text_field(:name, 'name').getContents, 'apple')
187
- assert_equal($ie.form(:index, 2).text_field(:name, 'name').getContents, 'banana')
188
- end
189
-
190
- def test_using_text_on_form
191
- $ie.form(:name, 'apple_form').text_field(:name, 'name').set('strudel')
192
- assert_equal($ie.form(:index, 1).text_field(:name, 'name').getContents, 'strudel')
193
- end
194
-
195
- def test_submit
196
- $ie.form(:name, 'apple_form').submit
197
- assert( $ie.contains_text("PASS") )
198
- end
199
- end
200
-
201
- class TC_Hidden_Fields < Test::Unit::TestCase
202
- def setup
203
- $ie.goto($htmlRoot + "forms3.html")
204
- end
205
-
206
- def test_hidden
207
-
208
- # test using index
209
- assert( $ie.hidden(:index,1).exists? )
210
- assert( $ie.hidden(:index,2).exists? )
211
- assert_false( $ie.hidden(:index,3).exists? )
212
-
213
- $ie.hidden(:index,1).value = 44
214
- $ie.hidden(:index,2).value = 55
215
-
216
- $ie.button(:value , "Show Hidden").click
217
-
218
- assert_equal("44" , $ie.text_field(:name , "vis1").value )
219
- assert_equal("55" , $ie.text_field(:name , "vis2").value )
220
-
221
- # test using name and ID
222
- assert( $ie.hidden(:name ,"hid1").exists? )
223
- assert( $ie.hidden(:id,"hidden_1").exists? )
224
- assert_false( $ie.hidden(:name,"hidden_44").exists? )
225
- assert_false( $ie.hidden(:id,"hidden_55").exists? )
226
-
227
- $ie.hidden(:name ,"hid1").value = 444
228
- $ie.hidden(:id,"hidden_1").value = 555
229
-
230
- $ie.button(:value , "Show Hidden").click
231
-
232
- assert_equal("444" , $ie.text_field(:name , "vis1").value )
233
- assert_equal("555" , $ie.text_field(:name ,"vis2").value )
234
-
235
- # test the over-ridden append method
236
- $ie.hidden(:name ,"hid1").append("a")
237
- $ie.button(:value , "Show Hidden").click
238
- assert_equal("444a" , $ie.text_field(:name , "vis1").value )
239
- assert_equal("555" , $ie.text_field(:name ,"vis2").value )
240
-
241
- # test the over-ridden clear method
242
- $ie.hidden(:name ,"hid1").clear
243
- $ie.button(:value , "Show Hidden").click
244
- assert_equal("" , $ie.text_field(:name , "vis1").value )
245
- assert_equal("555" , $ie.text_field(:name ,"vis2").value )
246
-
247
- # test using a form
248
- assert( $ie.form(:name , "has_a_hidden").hidden(:name ,"hid1").exists? )
249
- assert( $ie.form(:name , "has_a_hidden").hidden(:id,"hidden_1").exists? )
250
- assert_false( $ie.form(:name , "has_a_hidden").hidden(:name,"hidden_44").exists? )
251
- assert_false( $ie.form(:name , "has_a_hidden").hidden(:id,"hidden_55").exists? )
252
-
253
- $ie.form(:name , "has_a_hidden").hidden(:name ,"hid1").value = 222
254
- $ie.form(:name , "has_a_hidden").hidden(:id,"hidden_1").value = 333
255
-
256
- $ie.button(:value , "Show Hidden").click
257
-
258
- assert_equal("222" , $ie.text_field(:name , "vis1").value )
259
- assert_equal("333" , $ie.text_field(:name ,"vis2").value )
260
-
261
- # iterators
262
- assert_equal(2, $ie.hiddens.length)
263
- count =1
264
- $ie.hiddens.each do |h|
265
- case count
266
- when 1
267
- assert_equal( "", h.id)
268
- assert_equal( "hid1", h.name)
269
- when 2
270
- assert_equal( "", h.name)
271
- assert_equal( "hidden_1", h.id)
272
- end
273
- count+=1
274
- end
275
-
276
- assert_equal("hid1" , $ie.hiddens[1].name )
277
- assert_equal("hidden_1" , $ie.hiddens[2].id )
278
- end
279
- end