operawatir 0.4-jruby → 0.4.1-jruby

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 (222) hide show
  1. data/.gitmodules +3 -3
  2. data/AUTHORS +1 -0
  3. data/CHANGES +454 -0
  4. data/README.md +67 -50
  5. data/Rakefile +6 -10
  6. data/VERSION +1 -1
  7. data/bin/desktopwatir +52 -29
  8. data/bin/operawatir +50 -18
  9. data/lib/operadriver/client-combined-nodeps.jar +0 -0
  10. data/lib/operadriver/webdriver-opera.jar +0 -0
  11. data/lib/operawatir.rb +8 -1
  12. data/lib/operawatir/browser.rb +35 -15
  13. data/lib/operawatir/collection.rb +2 -2
  14. data/lib/operawatir/compat.rb +3 -2
  15. data/lib/operawatir/compat/browser.rb +0 -5
  16. data/lib/operawatir/compat/collection.rb +15 -0
  17. data/lib/operawatir/compat/element.rb +72 -21
  18. data/lib/operawatir/compat/element_finders.rb +6 -0
  19. data/lib/operawatir/compat/selector.rb +7 -0
  20. data/lib/operawatir/compat/window.rb +49 -0
  21. data/lib/operawatir/desktop_browser.rb +88 -14
  22. data/lib/operawatir/desktop_common.rb +0 -2
  23. data/lib/operawatir/desktop_container.rb +82 -29
  24. data/lib/operawatir/desktop_helper.rb +2 -0
  25. data/lib/operawatir/element.rb +49 -25
  26. data/lib/operawatir/helper.rb +5 -3
  27. data/lib/operawatir/keys.rb +19 -6
  28. data/lib/operawatir/preferences.rb +315 -78
  29. data/lib/operawatir/quickwidgets.rb +2 -1
  30. data/lib/operawatir/quickwidgets/quick_addressfield.rb +12 -0
  31. data/lib/operawatir/quickwidgets/quick_button.rb +8 -2
  32. data/lib/operawatir/quickwidgets/quick_checkbox.rb +5 -5
  33. data/lib/operawatir/quickwidgets/quick_editfield.rb +8 -5
  34. data/lib/operawatir/quickwidgets/quick_find.rb +11 -0
  35. data/lib/operawatir/quickwidgets/quick_griditem.rb +11 -0
  36. data/lib/operawatir/quickwidgets/quick_gridlayout.rb +11 -0
  37. data/lib/operawatir/quickwidgets/quick_searchfield.rb +7 -1
  38. data/lib/operawatir/quickwidgets/quick_tab.rb +0 -1
  39. data/lib/operawatir/quickwidgets/quick_treeitem.rb +22 -1
  40. data/lib/operawatir/quickwidgets/quick_widget.rb +62 -23
  41. data/lib/operawatir/quickwidgets/quick_window.rb +32 -2
  42. data/lib/operawatir/screenshot.rb +46 -0
  43. data/lib/operawatir/version.rb +6 -4
  44. data/lib/operawatir/window.rb +53 -67
  45. data/operawatir.gemspec +310 -245
  46. data/spec/operawatir/README.md +4 -0
  47. data/spec/operawatir/core/browser_spec.rb +82 -0
  48. data/spec/operawatir/core/element_spec.rb +88 -0
  49. data/spec/operawatir/core/preferences_spec.rb +438 -0
  50. data/spec/operawatir/core/screenshot_spec.rb +76 -0
  51. data/spec/{new_watirspec → operawatir/core}/spatnav_spec.rb +3 -3
  52. data/spec/operawatir/core/window_spec.rb +76 -0
  53. data/spec/operawatir/desktop/desktopbrowser_spec.rb +316 -0
  54. data/spec/operawatir/desktop/quickaddressfield_spec.rb +59 -0
  55. data/spec/operawatir/desktop/quickbutton_spec.rb +248 -0
  56. data/spec/operawatir/desktop/quickcheckbox_spec.rb +36 -0
  57. data/spec/operawatir/desktop/quickdialogtab_spec.rb +30 -0
  58. data/spec/operawatir/desktop/quickdropdown_spec.rb +39 -0
  59. data/spec/operawatir/desktop/quickeditfield_spec.rb +51 -0
  60. data/spec/operawatir/desktop/quickfind_spec.rb +30 -0
  61. data/spec/operawatir/desktop/quickgriditem_spec.rb +16 -0
  62. data/spec/operawatir/desktop/quickgridlayout_spec.rb +15 -0
  63. data/spec/operawatir/desktop/quicklabel_spec.rb +28 -0
  64. data/spec/operawatir/desktop/quickradiobutton_spec.rb +24 -0
  65. data/spec/operawatir/desktop/quicksearchfield_spec.rb +26 -0
  66. data/spec/operawatir/desktop/quicktab_spec.rb +86 -0
  67. data/spec/operawatir/desktop/quickthumbnail_spec.rb +37 -0
  68. data/spec/operawatir/desktop/quicktreeitem_spec.rb +135 -0
  69. data/spec/operawatir/desktop/quicktreeview_spec.rb +30 -0
  70. data/spec/operawatir/desktop/quickwidget_spec.rb +101 -0
  71. data/spec/operawatir/desktop/quickwindow_spec.rb +108 -0
  72. data/spec/operawatir/desktop/shared/shared.rb +138 -0
  73. data/spec/operawatir/fixtures/boxes.html +22 -0
  74. data/spec/operawatir/fixtures/browsers.svg +367 -0
  75. data/spec/operawatir/fixtures/frames.html +13 -0
  76. data/spec/operawatir/fixtures/grid.html +29 -0
  77. data/spec/operawatir/fixtures/input_fields_value.html +6 -0
  78. data/spec/operawatir/fixtures/onclick.html +20 -0
  79. data/spec/operawatir/fixtures/paragraphs.html +15 -0
  80. data/spec/operawatir/fixtures/two_input_fields.html +6 -0
  81. data/spec/{new_watirspec → operawatir}/guards.rb +0 -0
  82. data/spec/operawatir/matchers.rb +68 -0
  83. data/spec/{legacy_watirspec → operawatir}/server.rb +0 -0
  84. data/spec/operawatir/watirspec.rake +43 -0
  85. data/spec/operawatir/watirspec_desktophelper.rb +14 -0
  86. data/spec/operawatir/watirspec_helper.rb +62 -0
  87. data/spec/{legacy_watirspec → watir2}/area_spec.rb +0 -0
  88. data/spec/{legacy_watirspec → watir2}/areas_spec.rb +0 -0
  89. data/spec/{legacy_watirspec → watir2}/browser_spec.rb +2 -0
  90. data/spec/{legacy_watirspec → watir2}/button_spec.rb +0 -0
  91. data/spec/{legacy_watirspec → watir2}/buttons_spec.rb +0 -0
  92. data/spec/{legacy_watirspec → watir2}/checkbox_spec.rb +0 -0
  93. data/spec/{legacy_watirspec → watir2}/checkboxes_spec.rb +0 -0
  94. data/spec/{legacy_watirspec → watir2}/collections_spec.rb +0 -0
  95. data/spec/{legacy_watirspec → watir2}/dd_spec.rb +0 -0
  96. data/spec/{legacy_watirspec → watir2}/dds_spec.rb +0 -0
  97. data/spec/{legacy_watirspec → watir2}/del_spec.rb +0 -0
  98. data/spec/{legacy_watirspec → watir2}/dels_spec.rb +0 -0
  99. data/spec/{legacy_watirspec → watir2}/div_spec.rb +0 -0
  100. data/spec/{legacy_watirspec → watir2}/divs_spec.rb +0 -0
  101. data/spec/{legacy_watirspec → watir2}/dl_spec.rb +0 -0
  102. data/spec/{legacy_watirspec → watir2}/dls_spec.rb +0 -0
  103. data/spec/{legacy_watirspec → watir2}/dt_spec.rb +0 -0
  104. data/spec/{legacy_watirspec → watir2}/dts_spec.rb +0 -0
  105. data/spec/watir2/element_spec.rb +155 -0
  106. data/spec/{legacy_watirspec → watir2}/em_spec.rb +0 -0
  107. data/spec/{legacy_watirspec → watir2}/ems_spec.rb +0 -0
  108. data/spec/{legacy_watirspec → watir2}/filefield_spec.rb +0 -0
  109. data/spec/{legacy_watirspec → watir2}/filefields_spec.rb +0 -0
  110. data/spec/{legacy_watirspec → watir2}/fixtures/2000_spans.html +0 -0
  111. data/spec/{legacy_watirspec → watir2}/fixtures/bug_duplicate_attributes.html +0 -0
  112. data/spec/{legacy_watirspec → watir2}/fixtures/bug_javascript_001.html +0 -0
  113. data/spec/{legacy_watirspec → watir2}/fixtures/buttons_with_duplicate_ids.html +0 -0
  114. data/spec/{legacy_watirspec → watir2}/fixtures/collections.html +0 -0
  115. data/spec/{legacy_watirspec → watir2}/fixtures/definition_lists.html +0 -0
  116. data/spec/{legacy_watirspec → watir2}/fixtures/euc-jp_text.html +0 -0
  117. data/spec/{legacy_watirspec → watir2}/fixtures/forms_with_input_elements.html +0 -0
  118. data/spec/{legacy_watirspec → watir2}/fixtures/frame_1.html +0 -0
  119. data/spec/{legacy_watirspec → watir2}/fixtures/frame_2.html +0 -0
  120. data/spec/{legacy_watirspec → watir2}/fixtures/frames.html +0 -0
  121. data/spec/{legacy_watirspec → watir2}/fixtures/iframes.html +0 -0
  122. data/spec/{legacy_watirspec → watir2}/fixtures/images.html +0 -0
  123. data/spec/{legacy_watirspec → watir2}/fixtures/images/1.gif +0 -0
  124. data/spec/{legacy_watirspec → watir2}/fixtures/images/2.gif +0 -0
  125. data/spec/{legacy_watirspec → watir2}/fixtures/images/3.gif +0 -0
  126. data/spec/{legacy_watirspec → watir2}/fixtures/images/button.jpg +0 -0
  127. data/spec/{legacy_watirspec → watir2}/fixtures/images/circle.jpg +0 -0
  128. data/spec/{legacy_watirspec → watir2}/fixtures/images/map.gif +0 -0
  129. data/spec/{legacy_watirspec → watir2}/fixtures/images/map2.gif +0 -0
  130. data/spec/{legacy_watirspec → watir2}/fixtures/images/minus.gif +0 -0
  131. data/spec/{legacy_watirspec → watir2}/fixtures/images/originaltriangle.jpg +0 -0
  132. data/spec/{legacy_watirspec → watir2}/fixtures/images/plus.gif +0 -0
  133. data/spec/{legacy_watirspec → watir2}/fixtures/images/square.jpg +0 -0
  134. data/spec/{legacy_watirspec → watir2}/fixtures/images/triangle.jpg +0 -0
  135. data/spec/{legacy_watirspec → watir2}/fixtures/iso-2022-jp_text.html +0 -0
  136. data/spec/{legacy_watirspec → watir2}/fixtures/javascript/helpers.js +0 -0
  137. data/spec/{legacy_watirspec → watir2}/fixtures/jquery.html +0 -0
  138. data/spec/{legacy_watirspec → watir2}/fixtures/latin1_text.html +0 -0
  139. data/spec/{legacy_watirspec → watir2}/fixtures/multiple_ids.html +0 -0
  140. data/spec/{legacy_watirspec → watir2}/fixtures/non_control_elements.html +0 -0
  141. data/spec/{legacy_watirspec → watir2}/fixtures/parser_bug_001.html +0 -0
  142. data/spec/{legacy_watirspec → watir2}/fixtures/prevent_form_submit.html +0 -0
  143. data/spec/{legacy_watirspec → watir2}/fixtures/right_click.html +0 -0
  144. data/spec/{legacy_watirspec → watir2}/fixtures/shift_jis_text.html +0 -0
  145. data/spec/{legacy_watirspec → watir2}/fixtures/tables.html +0 -0
  146. data/spec/{legacy_watirspec → watir2}/fixtures/timeout.html +0 -0
  147. data/spec/{legacy_watirspec → watir2}/fixtures/timeout_window_location.html +0 -0
  148. data/spec/{legacy_watirspec → watir2}/fixtures/tiny_mce.html +0 -0
  149. data/spec/{legacy_watirspec → watir2}/fixtures/utf8_text.html +0 -0
  150. data/spec/{legacy_watirspec → watir2}/fixtures/watirspec.css +0 -0
  151. data/spec/{legacy_watirspec → watir2}/form_spec.rb +0 -0
  152. data/spec/{legacy_watirspec → watir2}/forms_spec.rb +0 -0
  153. data/spec/{legacy_watirspec → watir2}/frame_spec.rb +0 -0
  154. data/spec/{legacy_watirspec → watir2}/frames_spec.rb +0 -0
  155. data/spec/{legacy_watirspec → watir2}/guards.rb +0 -0
  156. data/spec/{legacy_watirspec → watir2}/hidden_spec.rb +0 -0
  157. data/spec/{legacy_watirspec → watir2}/hiddens_spec.rb +0 -0
  158. data/spec/{legacy_watirspec → watir2}/hn_spec.rb +0 -0
  159. data/spec/{legacy_watirspec → watir2}/hns_spec.rb +0 -0
  160. data/spec/{legacy_watirspec → watir2}/image_spec.rb +0 -0
  161. data/spec/{legacy_watirspec → watir2}/images_spec.rb +0 -0
  162. data/spec/{legacy_watirspec → watir2}/ins_spec.rb +0 -0
  163. data/spec/{legacy_watirspec → watir2}/inses_spec.rb +0 -0
  164. data/spec/{legacy_watirspec → watir2}/label_spec.rb +0 -0
  165. data/spec/{legacy_watirspec → watir2}/labels_spec.rb +0 -0
  166. data/spec/{legacy_watirspec → watir2}/li_spec.rb +0 -0
  167. data/spec/{legacy_watirspec → watir2}/link_spec.rb +0 -0
  168. data/spec/{legacy_watirspec → watir2}/links_spec.rb +0 -0
  169. data/spec/{legacy_watirspec → watir2}/lis_spec.rb +0 -0
  170. data/spec/{legacy_watirspec → watir2}/map_spec.rb +0 -0
  171. data/spec/{legacy_watirspec → watir2}/maps_spec.rb +0 -0
  172. data/spec/{legacy_watirspec → watir2}/meta_spec.rb +0 -0
  173. data/spec/{legacy_watirspec → watir2}/metas_spec.rb +0 -0
  174. data/spec/{legacy_watirspec → watir2}/ol_spec.rb +0 -0
  175. data/spec/{legacy_watirspec → watir2}/ols_spec.rb +0 -0
  176. data/spec/{legacy_watirspec → watir2}/option_spec.rb +0 -0
  177. data/spec/{legacy_watirspec → watir2}/p_spec.rb +0 -0
  178. data/spec/{legacy_watirspec → watir2}/pre_spec.rb +0 -0
  179. data/spec/{legacy_watirspec → watir2}/pres_spec.rb +0 -0
  180. data/spec/{legacy_watirspec → watir2}/ps_spec.rb +0 -0
  181. data/spec/{legacy_watirspec → watir2}/radio_spec.rb +0 -0
  182. data/spec/{legacy_watirspec → watir2}/radios_spec.rb +0 -0
  183. data/spec/{legacy_watirspec → watir2}/select_list_spec.rb +84 -71
  184. data/spec/{legacy_watirspec → watir2}/select_lists_spec.rb +0 -0
  185. data/spec/{new_watirspec → watir2}/server.rb +0 -0
  186. data/spec/{legacy_watirspec → watir2}/span_spec.rb +0 -0
  187. data/spec/{legacy_watirspec → watir2}/spans_spec.rb +0 -0
  188. data/spec/{legacy_watirspec → watir2}/spec_helper.rb +0 -0
  189. data/spec/{legacy_watirspec → watir2}/strong_spec.rb +0 -0
  190. data/spec/{legacy_watirspec → watir2}/strongs_spec.rb +0 -0
  191. data/spec/{legacy_watirspec → watir2}/table_bodies_spec.rb +0 -0
  192. data/spec/{legacy_watirspec → watir2}/table_body_spec.rb +0 -0
  193. data/spec/{legacy_watirspec → watir2}/table_cell_spec.rb +0 -0
  194. data/spec/{legacy_watirspec → watir2}/table_cells_spec.rb +0 -0
  195. data/spec/{legacy_watirspec → watir2}/table_footer_spec.rb +0 -0
  196. data/spec/{legacy_watirspec → watir2}/table_footers_spec.rb +0 -0
  197. data/spec/{legacy_watirspec → watir2}/table_header_spec.rb +0 -0
  198. data/spec/{legacy_watirspec → watir2}/table_headers_spec.rb +0 -0
  199. data/spec/{legacy_watirspec → watir2}/table_row_spec.rb +0 -0
  200. data/spec/{legacy_watirspec → watir2}/table_rows_spec.rb +0 -0
  201. data/spec/{legacy_watirspec → watir2}/table_spec.rb +0 -0
  202. data/spec/{legacy_watirspec → watir2}/tables_spec.rb +0 -0
  203. data/spec/{legacy_watirspec → watir2}/text_field_spec.rb +0 -0
  204. data/spec/{legacy_watirspec → watir2}/text_fields_spec.rb +0 -0
  205. data/spec/{legacy_watirspec → watir2}/ul_spec.rb +0 -0
  206. data/spec/{legacy_watirspec → watir2}/uls_spec.rb +0 -0
  207. data/spec/{legacy_watirspec → watir2}/watir_compatibility_spec.rb +0 -0
  208. data/spec/{legacy_watirspec → watir2}/watirspec_helper.rb +0 -0
  209. data/spec/{new_watirspec → watir3}/browser_spec.rb +11 -21
  210. data/spec/{new_watirspec → watir3}/clipboard_spec.rb +2 -2
  211. data/spec/{new_watirspec → watir3}/collection_spec.rb +0 -0
  212. data/spec/{new_watirspec → watir3}/element_spec.rb +30 -12
  213. data/spec/watir3/guards.rb +39 -0
  214. data/spec/{new_watirspec → watir3}/keys_spec.rb +0 -0
  215. data/spec/watir3/server.rb +91 -0
  216. data/spec/{new_watirspec → watir3}/watirspec_helper.rb +0 -0
  217. data/spec/{new_watirspec → watir3}/window_spec.rb +8 -83
  218. metadata +315 -280
  219. data/lib/operadriver/selenium-common.jar +0 -0
  220. data/spec/legacy_watirspec/element_spec.rb +0 -86
  221. data/spec/new_watirspec/preferences_spec.rb +0 -144
  222. data/spec/new_watirspec/screenshot_spec.rb +0 -34
@@ -0,0 +1,59 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickAddressfield' do
5
+
6
+ let(:addressfield) { browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
7
+ let(:unknown_addressfield) { browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "no_address_field") }
8
+ let(:widget) { browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
9
+
10
+ subject { addressfield }
11
+
12
+ it_behaves_like 'a widget'
13
+ it_behaves_like 'an editfield'
14
+
15
+ describe '#quick_addressfield' do
16
+ it 'constructs addressfield by its name' do
17
+ browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field")
18
+ end
19
+ it 'constructs addressfield by its name' do
20
+ browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field2")
21
+ end
22
+ end
23
+
24
+ its(:type) { should == :addressfield }
25
+
26
+ describe '#load_page_with_url' do
27
+ it 'loads page' do
28
+ addressfield.load_page_with_url("opera:debug").should == "opera:debug"
29
+ end
30
+ it 'throws exception if unknown addressfield' do
31
+ expect { unknown_addressfield.highlighted_text }.to raise_error OperaWatir::Exceptions::UnknownObjectException
32
+ end
33
+ end
34
+
35
+ describe '#text' do
36
+ its(:text) { should == "opera:debug" }
37
+
38
+ it 'throws exception if unknown addressfield' do
39
+ expect { unknown_addressfield.highlighted_text }.to raise_error OperaWatir::Exceptions::UnknownObjectException
40
+ end
41
+ end
42
+
43
+ describe '#visible_text' do
44
+ its(:visible_text) { should == "debug" }
45
+
46
+ it 'throws exception if unknown addressfield' do
47
+ expect { unknown_addressfield.highlighted_text }.to raise_error OperaWatir::Exceptions::UnknownObjectException
48
+ end
49
+ end
50
+
51
+ describe '#highlighted_text' do
52
+ its(:highlighted_text) { should == "" }
53
+
54
+ it 'throws exception if unknown addressfield' do
55
+ expect { unknown_addressfield.highlighted_text }.to raise_error OperaWatir::Exceptions::UnknownObjectException
56
+ end
57
+ end
58
+
59
+ end
@@ -0,0 +1,248 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickButton' do
5
+
6
+ let(:url) { "http://t/platforms/desktop/automated/resources/documents/page1.html" }
7
+ let(:url2) { "http://t/platforms/desktop/automated/resources/documents/page2.html" }
8
+
9
+ let(:widget) { browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar") .quick_button(:name, "tbb_Home") }
10
+ subject { widget }
11
+
12
+ it_behaves_like 'a widget'
13
+ it_behaves_like 'a button'
14
+
15
+ its(:type) { should == :button }
16
+
17
+ describe '#quick_button' do
18
+ it "constructs a button by its name"
19
+ end
20
+
21
+ after(:all) do
22
+ browser.close_all_tabs
23
+ end
24
+
25
+ describe 'position' do
26
+ before(:all) do
27
+ browser.open_dialog_with_action("Customize Toolbar Dialog", "Customize Toolbars")
28
+ browser.quick_dialogtab(:name, "tab_appearance_toolbars").activate_tab_with_click
29
+ bookmarks = browser.quick_checkbox(:name, "bookmarks_bar")
30
+ bookmarks.toggle_with_click unless bookmarks.value == 1
31
+ browser.close_dialog("Customize Toolbar Dialog")
32
+ end
33
+ after(:all) do
34
+ browser.open_dialog_with_action("Customize Toolbar Dialog", "Customize Toolbars")
35
+ browser.quick_dialogtab(:name, "tab_appearance_toolbars").activate_tab_with_click
36
+ browser.quick_checkbox(:name, "bookmarks_bar").toggle_with_click
37
+ browser.close_dialog("Customize Toolbar Dialog")
38
+ end
39
+ it 'returns position for button in personalbar' do
40
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Personalbar Inline").quick_button(:text, "Kayak").position >= 0
41
+ end
42
+ it "can specify which button to construct" do
43
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Personalbar Inline").quick_button(:pos, 1).should exist
44
+ end
45
+ end
46
+
47
+ #This is already in shared for a button
48
+ describe '#default?' do
49
+ before(:each) do
50
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences").should > 0
51
+ end
52
+
53
+ after(:each) do
54
+ browser.close_dialog("New Preferences Dialog").should > 0
55
+ end
56
+
57
+ it 'default button' do
58
+ browser.quick_button(:name, "button_OK").should be_default
59
+ end
60
+
61
+ it 'non-default button' do
62
+ browser.quick_button(:name, "button_Cancel").should_not be_default
63
+ end
64
+ end
65
+
66
+ describe '#open_window_with_click' do
67
+ =begin
68
+ it 'a click does not open any windows' do
69
+ browser.open_window_with_key_press("Document Window", "t", :ctrl).should > 0
70
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").quick_button(:name, "af_ProtocolButton").open_window_with_click("Addressbar Overlay Window").should_not open_window
71
+ end
72
+ =end
73
+ it 'opens a window' do
74
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").load_page_with_url(url).should == url
75
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").quick_button(:name, "af_ProtocolButton").open_window_with_click("Addressbar Overlay Window").should open_window
76
+ end
77
+
78
+ it 'raises exception' do
79
+ browser.open_dialog_with_action("Customize Toolbar Dialog", "Customize Toolbars").should open_dialog
80
+ browser.quick_dialogtab(:name, "tab_appearance_toolbars").activate_tab_with_click
81
+ if browser.quick_checkbox(:name, "address_bar").checked? == true
82
+ browser.quick_checkbox(:name, "address_bar").toggle_with_click.should == false
83
+ end
84
+ browser.quick_button(:name, "button_OK").close_dialog_with_click("Customize Toolbar Dialog").should close_dialog
85
+ lambda { browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").quick_button(:name, "af_ProtocolButton").open_window_with_click("Addressbar Overlay Window") }.should raise_error OperaWatir::DesktopExceptions::WidgetNotVisibleException
86
+ end
87
+
88
+ after(:all) do
89
+ browser.open_dialog_with_action("Customize Toolbar Dialog", "Customize Toolbars").should open_dialog
90
+ browser.quick_dialogtab(:name, "tab_appearance_toolbars").activate_tab_with_click
91
+ if browser.quick_checkbox(:name, "address_bar").checked? == false
92
+ browser.quick_checkbox(:name, "address_bar").toggle_with_click.should == true
93
+ end
94
+ browser.quick_button(:name, "button_OK").close_dialog_with_click("Customize Toolbar Dialog").should close_dialog
95
+ end
96
+ end
97
+
98
+ describe '#change_page_with_click' do
99
+
100
+ before(:each) do
101
+ browser.open_dialog_with_action("New Account Wizard", "New account").should > 0
102
+ end
103
+
104
+ it 'change to a different page, with ID > 0' do
105
+ browser.quick_button(:name, "button_Next").change_page_with_click.should > 0
106
+ browser.close_dialog("New Account Wizard").should > 0
107
+ end
108
+ =begin
109
+ it 'returns 0 - no new page is loaded ' do
110
+ browser.quick_button(:name, "button_Cancel").change_page_with_click.should == 0
111
+ end
112
+ =end
113
+ end
114
+
115
+ describe '#close_window_with_click' do
116
+ it 'raises exception'
117
+
118
+ it 'returns window id of closed dialog window' do
119
+ browser.open_dialog_with_action("Add Bookmark Dialog", "Add to bookmarks").should > 0
120
+ browser.quick_button(:name, "button_Cancel").close_dialog_with_click("Add Bookmark Dialog").should > 0
121
+ end
122
+
123
+ it 'returns window id of closed window' do
124
+ browser.open_window_with_key_press("Document Window", "t", :ctrl).should > 0
125
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 1").quick_button(:name, "pb_CloseButton").close_window_with_click("Document Window").should > 0
126
+ end
127
+ end
128
+
129
+ describe '#load_page_with_click' do
130
+ it 'returns window id' do
131
+ browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").load_page_with_url(url).should == url
132
+ browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").load_page_with_url(url2).should == url2
133
+ browser.quick_toolbar(:name, "Document Toolbar").quick_button(:name, "tbb_Back").load_page_with_click.should > 0
134
+ end
135
+ =begin
136
+ it 'returns 0 - no windows is open' do
137
+ browser.open_window_with_key_press("Document Window", "t", :ctrl).should open_window
138
+ browser.quick_toolbar(:name, "Document Toolbar").quick_button(:name, "tbb_Stop_Reload").load_page_with_click.should == 0
139
+ browser.close_window_with_key_press("Document Window", "w", :ctrl).should close_window
140
+ end
141
+ =end
142
+ end
143
+
144
+ describe '#toggle_with_click' do
145
+
146
+ before(:all) do
147
+ browser.open_dialog_with_action("Clear Private Data Dialog", "Delete private data").should open_dialog
148
+ end
149
+
150
+ it 'returns value = 1 of button when button is pressed' do
151
+ browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 1
152
+ end
153
+
154
+ it 'returns value = 0 of button when button is unpressed' do
155
+ browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 0
156
+ end
157
+
158
+ it "returns false when it removes a button" #New in Task 5
159
+
160
+ after(:all) do
161
+ browser.close_dialog("Clear Private Data Dialog").should close_dialog
162
+ end
163
+ end
164
+
165
+ describe '#close_toolbar_with_click' do
166
+ end
167
+
168
+ describe '#expand_with_click' do
169
+
170
+ before(:all) do
171
+ browser.open_dialog_with_action("Clear Private Data Dialog", "Delete private data").should open_dialog
172
+ end
173
+
174
+ it 'expand with click' do
175
+ browser.quick_button(:name, "Destails_expand").expand_with_click
176
+ browser.quick_button(:name, "button_manage_wand").visible?.should be_true
177
+ end
178
+
179
+
180
+ it 'collapse with click ' do
181
+ browser.quick_button(:name, "Destails_expand").expand_with_click
182
+ browser.quick_button(:name, "button_manage_wand").visible?.should be_false
183
+ end
184
+
185
+ it 'raises exception' do
186
+ lambda { browser.quick_button(:name, "button_manage_wand").expand_with_click }.should raise_error OperaWatir::DesktopExceptions::WidgetNotVisibleException
187
+ end
188
+
189
+ after(:all) do
190
+ browser.close_dialog("Clear Private Data Dialog").should close_dialog
191
+ end
192
+ end
193
+
194
+ describe '#value' do
195
+
196
+ before(:all) do
197
+ browser.open_dialog_with_action("Clear Private Data Dialog", "Delete private data").should open_dialog
198
+ end
199
+
200
+ it 'returns 1 when button is pressed' do
201
+ browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 1
202
+ browser.quick_button(:name, "Destails_expand").value.should == 1
203
+ end
204
+
205
+ it 'returns 0 when button is unpressed' do
206
+ browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 0
207
+ browser.quick_button(:name, "Destails_expand").value.should == 0
208
+ end
209
+
210
+ after(:all) do
211
+ browser.close_dialog("Clear Private Data Dialog")
212
+ end
213
+ end
214
+
215
+ describe '#close_toolbar_with_click' do
216
+ before(:each) do
217
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Status Toolbar Head").quick_button(:name, "tbb_Panel").toggle_with_click
218
+ end
219
+
220
+ it 'closes toolbar' do
221
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Hotlist Panel Selector").should be_visible
222
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Status Toolbar Head").quick_button(:name, "tbb_Panel").close_toolbar_with_click
223
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Hotlist Panel Selector").should_not be_visible
224
+ end
225
+
226
+ end
227
+
228
+ describe '#wait_for_enabled' do
229
+ after(:each) do
230
+ browser.close_all_dialogs
231
+ end
232
+ it 'returns true when button is enabled' do
233
+ browser.open_dialog_with_url("Setup Apply Dialog Confirm Dialog", "http://t/platforms/desktop/bts/DSK-311302/keyboard.ini").should > 0
234
+ browser.quick_button(:name, "button_OK").wait_for_enabled.should be_true
235
+ browser.quick_button(:name, "button_OK").should be_enabled
236
+ end
237
+ =begin
238
+ it 'returns false' do
239
+ browser.open_dialog_with_action("Customize Toolbar Dialog", "Customize Toolbars").should open_dialog
240
+ browser.quick_dialogtab(:name, "tab_appearance_buttons").activate_tab_with_click
241
+ browser.quick_treeview(:name, "Buttons_treeview").quick_treeitem(:string_id, "D_CUSTOMIZE_TOOLBAR_DEFAULTS").focus_with_click
242
+ browser.quick_button(:name, "Reset button").wait_for_enabled.should be_false
243
+ browser.quick_button(:name, "Reset button").enabled?.should be_false
244
+ browser.close_dialog("Customize Toolbar Dialog").should close_dialog
245
+ end
246
+ =end
247
+ end
248
+ end
@@ -0,0 +1,36 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickCheckbox' do
5
+
6
+ before(:each) do
7
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 4)
8
+ browser.quick_treeview(:name, "Advanced_treeview").quick_treeitem(:string_id, "D_NEW_PREFS_SECURITY").activate_tab_with_click
9
+ end
10
+
11
+ after(:each) do
12
+ browser.close_all_dialogs
13
+ end
14
+
15
+ let(:widget) { browser.quick_checkbox(:name, "Trust_info_checkbox") }
16
+ subject { widget }
17
+
18
+ it_behaves_like 'a checkbox'
19
+
20
+ its(:type) { should == :checkbox }
21
+
22
+ describe '#open_dialog_with_click' do
23
+ it 'returns window id' do
24
+ browser.quick_button(:name, "Set_password_button").open_dialog_with_click("Change Masterpassword Dialog").should > 0
25
+ browser.quick_editfield(:name, "Password_edit").focus_with_click
26
+ browser.quick_editfield(:name, "Password_edit").type_text("masterpass1").should == "masterpass1"
27
+ browser.quick_editfield(:name, "Confirm_password_edit").focus_with_click
28
+ browser.quick_editfield(:name, "Confirm_password_edit").type_text("masterpass1").should == "masterpass1"
29
+ browser.quick_button(:name, "button_OK").close_dialog_with_click("Change Masterpassword Dialog").should close_dialog
30
+ browser.quick_checkbox(:name, "Master_password_checkbox").open_dialog_with_click("Security Password Dialog").should > 0
31
+ end
32
+ end
33
+
34
+ end
35
+
36
+
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickDialogTab' do
5
+ before(:all) do
6
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences").should > 0
7
+ end
8
+
9
+ after(:all) do
10
+ browser.close_all_dialogs
11
+ end
12
+
13
+ let(:widget) { browser.quick_dialogtab(:name, "tab_prefs_advanced") }
14
+ subject { widget }
15
+
16
+ it_behaves_like 'a widget'
17
+
18
+ its(:type) { should == :dialogtab }
19
+
20
+ describe '#activate_tab_with_click' do
21
+ it 'activates a tab with click' do
22
+ browser.quick_dialogtab(:name, "tab_prefs_advanced").activate_tab_with_click
23
+ browser.quick_checkbox(:name, "Thumbnails_in_tab_cycle").should be_visible
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+
30
+
@@ -0,0 +1,39 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickDropdown' do
5
+
6
+ before(:all) do
7
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 0).should > 0
8
+ end
9
+
10
+ after(:all) do
11
+ browser.close_all_tabs
12
+ browser.close_all_dialogs
13
+ end
14
+
15
+ let(:widget) { browser.quick_dropdown(:name, "Startup_mode_dropdown") }
16
+ subject { widget }
17
+
18
+ it_behaves_like 'a widget'
19
+
20
+
21
+ describe '#selected?'do
22
+ it 'returns true for selected item' do
23
+ browser.quick_dropdown(:name, "Startup_mode_dropdown").selected?("D_STARTUP_LAST_TIME").should be_true
24
+ end
25
+
26
+ it 'returns false for not selected item' do
27
+ browser.quick_dropdown(:name, "Startup_mode_dropdown").selected?("D_STARTUP_SAVED_SESSIONS").should be_false
28
+ end
29
+
30
+ it 'raises an exception' do
31
+ browser.close_all_dialogs
32
+ lambda { browser.quick_dropdown(:name, "Startup_mode_dropdown").selected?("D_STARTUP_SAVED_SESSIONS") }.should raise_error OperaWatir::DesktopExceptions::UnknownObjectException
33
+ end
34
+
35
+ end
36
+
37
+
38
+ end
39
+
@@ -0,0 +1,51 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+
5
+ describe 'QuickEditField' do
6
+
7
+ before(:all) do
8
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 1).should open_dialog
9
+ end
10
+
11
+ after(:all) do
12
+ browser.close_all_tabs
13
+ browser.close_all_dialogs
14
+ end
15
+
16
+ let(:url1) { "http://t/platforms/desktop/automated/resources/documents/page1.html" }
17
+ let(:url2) { "http://t/platforms/desktop/automated/resources/documents/page2.html" }
18
+
19
+ let(:widget) { browser.quick_editfield(:name, "Firstname_edit") }
20
+ subject { widget }
21
+
22
+ it_behaves_like 'a widget'
23
+ it_behaves_like 'an editfield'
24
+
25
+ its(:type) { should == :editfield }
26
+
27
+ describe '#load_page_with_key_press(key, *modifiers)' do
28
+ it 'loads page' do
29
+ browser.close_all_dialogs
30
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").focus_with_click
31
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").clear
32
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").type_text(url1).should == url1
33
+ browser.load_page_with_key_press("Enter").should > 0
34
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").text.should == url1
35
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 0").text.should == "Test Page 1"
36
+ end
37
+ end
38
+
39
+ =begin # it is a private method
40
+ describe '#enter_text_and_hit_enter(text)' do
41
+ it "type text and press enter in the same method" do
42
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").focus_with_click
43
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").clear
44
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").enter_text_and_hit_enter(url2).should == url2
45
+ browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").text.should == url2
46
+ browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 0").text.should == "Test Page 2"
47
+ end
48
+ end
49
+ =end
50
+
51
+ end