operawatir 0.4-jruby → 0.4.1-jruby

Sign up to get free protection for your applications and to get access to all the features.
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