operawatir 0.4.3.pre1-jruby → 0.5-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 (98) hide show
  1. data/.gitmodules +1 -1
  2. data/CHANGES +230 -0
  3. data/Gemfile +4 -0
  4. data/Rakefile +3 -2
  5. data/VERSION +1 -1
  6. data/bin/desktopwatir +1 -1
  7. data/bin/operawatir +16 -4
  8. data/lib/operadriver/guava-r09.jar +0 -0
  9. data/lib/operadriver/operadriver-v0.7.2.jar +0 -0
  10. data/lib/operadriver/selenium-nodeps-20100909.jar +0 -0
  11. data/lib/operawatir.rb +10 -3
  12. data/lib/operawatir/actions.rb +111 -0
  13. data/lib/operawatir/browser.rb +24 -20
  14. data/lib/operawatir/clickable_item.rb +68 -0
  15. data/lib/operawatir/compat.rb +4 -4
  16. data/lib/operawatir/compat/collection.rb +1 -1
  17. data/lib/operawatir/compat/element.rb +1 -1
  18. data/lib/operawatir/compat/window.rb +4 -3
  19. data/lib/operawatir/desktop_browser.rb +299 -95
  20. data/lib/operawatir/desktop_common.rb +88 -23
  21. data/lib/operawatir/desktop_container.rb +103 -34
  22. data/lib/operawatir/desktop_enums.rb +4 -4
  23. data/lib/operawatir/desktop_exceptions.rb +2 -2
  24. data/lib/operawatir/desktop_helper.rb +31 -8
  25. data/lib/operawatir/element.rb +6 -2
  26. data/lib/operawatir/exceptions.rb +4 -4
  27. data/lib/operawatir/helper.rb +6 -6
  28. data/lib/operawatir/keys.rb +4 -4
  29. data/lib/operawatir/preferences.rb +126 -155
  30. data/lib/operawatir/quickwidgets.rb +3 -3
  31. data/lib/operawatir/quickwidgets/quick_addressfield.rb +12 -5
  32. data/lib/operawatir/quickwidgets/quick_button.rb +39 -53
  33. data/lib/operawatir/quickwidgets/quick_checkbox.rb +6 -6
  34. data/lib/operawatir/quickwidgets/quick_dialogtab.rb +5 -5
  35. data/lib/operawatir/quickwidgets/quick_dropdown.rb +28 -4
  36. data/lib/operawatir/quickwidgets/quick_dropdownitem.rb +46 -0
  37. data/lib/operawatir/quickwidgets/quick_editfield.rb +16 -13
  38. data/lib/operawatir/quickwidgets/quick_label.rb +1 -1
  39. data/lib/operawatir/quickwidgets/quick_menu.rb +155 -0
  40. data/lib/operawatir/quickwidgets/quick_menuitem.rb +387 -0
  41. data/lib/operawatir/quickwidgets/quick_searchfield.rb +7 -4
  42. data/lib/operawatir/quickwidgets/quick_tab.rb +23 -12
  43. data/lib/operawatir/quickwidgets/quick_thumbnail.rb +4 -4
  44. data/lib/operawatir/quickwidgets/quick_toolbar.rb +1 -1
  45. data/lib/operawatir/quickwidgets/quick_treeitem.rb +45 -29
  46. data/lib/operawatir/quickwidgets/quick_treeview.rb +2 -2
  47. data/lib/operawatir/quickwidgets/quick_widget.rb +267 -77
  48. data/lib/operawatir/quickwidgets/quick_window.rb +64 -38
  49. data/lib/operawatir/screenshot.rb +1 -1
  50. data/lib/operawatir/utils.rb +31 -0
  51. data/lib/operawatir/window.rb +1 -1
  52. data/operawatir.gemspec +38 -132
  53. data/spec/operawatir/core/actions_spec.rb +202 -0
  54. data/spec/operawatir/core/browser_spec.rb +8 -8
  55. data/spec/operawatir/core/element_spec.rb +11 -2
  56. data/spec/operawatir/core/keys_spec.rb +50 -2
  57. data/spec/operawatir/core/preferences_spec.rb +44 -128
  58. data/spec/operawatir/core/spatnav_spec.rb +16 -16
  59. data/spec/operawatir/core/utils_spec.rb +47 -0
  60. data/spec/operawatir/core/window_spec.rb +1 -1
  61. data/spec/operawatir/desktop/desktopbrowser_spec.rb +191 -22
  62. data/spec/operawatir/desktop/quickbutton_spec.rb +197 -164
  63. data/spec/operawatir/desktop/quickcheckbox_spec.rb +12 -12
  64. data/spec/operawatir/desktop/quickdialogtab_spec.rb +11 -11
  65. data/spec/operawatir/desktop/quickdropdown_spec.rb +25 -25
  66. data/spec/operawatir/desktop/quickeditfield_spec.rb +31 -31
  67. data/spec/operawatir/desktop/quickmenu_spec.rb +57 -0
  68. data/spec/operawatir/desktop/quickmenuitem_spec.rb +168 -0
  69. data/spec/operawatir/desktop/quicktab_spec.rb +26 -15
  70. data/spec/operawatir/desktop/quickthumbnail_spec.rb +18 -4
  71. data/spec/operawatir/desktop/quicktreeitem_spec.rb +72 -72
  72. data/spec/operawatir/desktop/quicktreeview_spec.rb +13 -13
  73. data/spec/operawatir/desktop/quickwidget_spec.rb +51 -13
  74. data/spec/operawatir/desktop/quickwindow_spec.rb +4 -0
  75. data/spec/operawatir/desktop/shared/shared.rb +25 -9
  76. data/spec/operawatir/fixtures/draggableLists.html +67 -0
  77. data/spec/operawatir/fixtures/formSelectionPage.html +46 -0
  78. data/spec/operawatir/fixtures/js/jquery-1.4.4.min.js +167 -0
  79. data/spec/operawatir/fixtures/js/jquery-ui-1.8.10.custom.min.js +782 -0
  80. data/spec/operawatir/fixtures/keys.html +40 -0
  81. data/spec/operawatir/fixtures/label_submit.html +5 -0
  82. data/spec/operawatir/fixtures/mouse.html +59 -0
  83. data/spec/operawatir/fixtures/simple.html +10 -0
  84. data/spec/operawatir/matchers.rb +20 -19
  85. data/spec/operawatir/watirspec_desktophelper.rb +51 -3
  86. data/spec/operawatir/watirspec_helper.rb +0 -2
  87. metadata +91 -220
  88. data/lib/operadriver/client-combined-nodeps.jar +0 -0
  89. data/lib/operadriver/webdriver-opera.jar +0 -0
  90. data/spec/watir3/browser_spec.rb +0 -190
  91. data/spec/watir3/clipboard_spec.rb +0 -64
  92. data/spec/watir3/collection_spec.rb +0 -387
  93. data/spec/watir3/element_spec.rb +0 -474
  94. data/spec/watir3/guards.rb +0 -39
  95. data/spec/watir3/keys_spec.rb +0 -204
  96. data/spec/watir3/server.rb +0 -91
  97. data/spec/watir3/watirspec_helper.rb +0 -62
  98. data/spec/watir3/window_spec.rb +0 -295
@@ -2,13 +2,13 @@ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
2
  require File.expand_path('../shared/shared', __FILE__)
3
3
 
4
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
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
12
 
13
13
  let(:widget) { browser.quick_dialogtab(:name, "tab_prefs_advanced") }
14
14
  subject { widget }
@@ -18,10 +18,10 @@ describe 'QuickDialogTab' do
18
18
  its(:type) { should == :dialogtab }
19
19
 
20
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
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
25
  end
26
26
 
27
27
  end
@@ -3,35 +3,35 @@ require File.expand_path('../shared/shared', __FILE__)
3
3
 
4
4
  describe 'QuickDropdown' do
5
5
 
6
- before(:all) do
7
- browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 0).should > 0
8
- end
6
+ before(:all) do
7
+ browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 0).should > 0
8
+ end
9
9
 
10
- after(:all) do
11
- browser.close_all_tabs
12
- browser.close_all_dialogs
13
- end
10
+ after(:all) do
11
+ browser.close_all_tabs
12
+ browser.close_all_dialogs
13
+ end
14
14
 
15
- let(:widget) { browser.quick_dropdown(:name, "Startup_mode_dropdown") }
16
- subject { widget }
15
+ let(:widget) { browser.quick_dropdown(:name, "Startup_mode_dropdown") }
16
+ subject { widget }
17
17
 
18
- it_behaves_like 'a widget'
18
+ it_behaves_like 'a widget'
19
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
-
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 for not shown widget' do
31
+ browser.close_all_dialogs
32
+ expect { browser.quick_dropdown(:name, "Startup_mode_dropdown").selected?("D_STARTUP_SAVED_SESSIONS") }.to raise_error OperaWatir::DesktopExceptions::UnknownObjectException
33
+ end
34
+
35
35
  end
36
36
 
37
37
 
@@ -4,47 +4,47 @@ require File.expand_path('../shared/shared', __FILE__)
4
4
 
5
5
  describe 'QuickEditField' do
6
6
 
7
- before(:all) do
8
- browser.open_dialog_with_action("New Preferences Dialog", "Show preferences", 1).should open_dialog
9
- end
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
10
15
 
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" }
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
18
 
19
- let(:widget) { browser.quick_editfield(:name, "Firstname_edit") }
20
- subject { widget }
19
+ let(:widget) { browser.quick_editfield(:name, "Firstname_edit") }
20
+ subject { widget }
21
21
 
22
- it_behaves_like 'a widget'
23
- it_behaves_like 'an editfield'
22
+ it_behaves_like 'a widget'
23
+ it_behaves_like 'an editfield'
24
24
 
25
- its(:type) { should == :editfield }
25
+ its(:type) { should == :editfield }
26
26
 
27
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
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
37
  end
38
38
 
39
39
  =begin # it is a private method
40
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
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
48
  end
49
49
  =end
50
50
 
@@ -0,0 +1,57 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickMenu' do
5
+ let(:addressfield) { browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
6
+ let(:menu) { browser.quick_menu(:name, "Toolbar Edit Item Popup Menu") }
7
+
8
+ subject { menu }
9
+
10
+ before(:each) do
11
+ addressfield.open_menu_with_rightclick("Toolbar Edit Item Popup Menu").should open_menu
12
+ end
13
+ after(:each) do
14
+ browser.close_all_menus
15
+ end
16
+
17
+ its(:name) { should_not be_empty }
18
+ its(:window_id) { should be_kind_of Integer }
19
+ its(:to_s) { should_not be_empty } #should == menu.element.toString()
20
+ its(:width) { should be_kind_of Integer }
21
+ its(:height) { should be_kind_of Integer }
22
+ its(:x) { should be_kind_of Integer }
23
+ its(:y) { should be_kind_of Integer }
24
+
25
+ describe '#exists'do
26
+ it 'should return true' do
27
+ menu.should exist
28
+ end
29
+ end
30
+
31
+ describe '#parentmenu?' do
32
+ it 'should return true or false' do
33
+ menu.should be_parentmenu
34
+ end
35
+ end
36
+
37
+ describe '#quick_menu' do
38
+ it 'constructs a menu by its name' do
39
+ menu.should exist
40
+ end
41
+ end
42
+
43
+ describe '#quick_menus' do
44
+ it 'lists all menus' do
45
+ browser.quick_menus.should_not be_empty
46
+ end
47
+ end
48
+
49
+ describe '#quick_menuitems' do
50
+ it 'lists menuitems in this menu' do
51
+ puts menu.quick_menuitems
52
+ menu.quick_menuitems.select { |item| item.menu != menu.name }.should be_empty
53
+ menu.quick_menuitems.select { |item| item.menu == menu.name }.should_not be_empty
54
+ menu.quick_menuitems.select { |item| item.submenu_item? == true }.should_not be_empty
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,168 @@
1
+ require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
3
+
4
+ describe 'QuickMenuItem' do
5
+
6
+ let(:addressfield) { browser.quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
7
+ let(:menuitem) { browser.quick_menuitem(:name, "Clear") }
8
+
9
+ before(:all) { addressfield.open_menu_with_rightclick("Toolbar Edit Item Popup Menu") }
10
+ after(:all) { browser.close_all_menus }
11
+
12
+ subject { menuitem }
13
+
14
+ its(:shortcut) { should be_kind_of(String) }
15
+ its(:shortcutletter) { should be_kind_of String }
16
+ its(:text) { should_not be_empty }
17
+ its(:enabled?) {should be_true }
18
+ its(:checked?) { should be_false }
19
+ its(:pos) { should be_kind_of Integer }
20
+ its(:name) { should_not be_empty }
21
+ its(:menu) { should == "Toolbar Edit Item Popup Menu" }
22
+ its(:separator?) { should be_false }
23
+ its(:bold?) { should be_false }
24
+ its(:action_item?) { should be_true }
25
+ its(:submenu_item?) {should be_false }
26
+ its(:action_params) { should be_empty }
27
+ its(:submenu) { should be_empty }
28
+ its(:width) { should be_kind_of Integer }
29
+ its(:height) { should be_kind_of Integer }
30
+ its(:x) { should be_kind_of Integer }
31
+ its(:y) { should be_kind_of Integer }
32
+ its(:to_s) { should_not be_empty }
33
+
34
+ describe '#open_window_with_click' do
35
+ it 'opens a window'
36
+ it 'raises exception if menuitem is disabled'
37
+ end
38
+
39
+ describe '#toggle_with_click' do
40
+ it 'toggles checkbox of menuitem'
41
+ end
42
+
43
+
44
+ describe '#quick_menuitem' do
45
+ it 'constructs a menu item by its action name' do
46
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").should exist
47
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:action, "Clear").should exist
48
+ end
49
+
50
+ it 'constructs a menu item by its submenu name' do
51
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:submenu, "Toolbar Popup Customize Menu").should exist
52
+ end
53
+
54
+ it 'constructs a menu item by its text' do
55
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:text, "Clear All").should exist
56
+ end
57
+
58
+ it 'constructs a menu item by its position (row)' do
59
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:pos, 1).should exist
60
+ end
61
+
62
+ it 'constructs a menu item by its shortcutletter' do
63
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:acckey, "R").should exist
64
+ end
65
+
66
+ it 'constructs a menu item by its shortcut' do
67
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:shortcut, "Ctrl+V").should exist
68
+ end
69
+
70
+ it 'constructs a menuitem by its stringId' do
71
+ browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:string_id, "MI_IDM_EDIT_UNDO").should exist
72
+ end
73
+
74
+ end
75
+ end
76
+
77
+ describe 'QuickMenuItem' do
78
+ let(:addressfield) { browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
79
+ let(:menu) { browser.quick_menu(:name, "Toolbar Edit Item Popup Menu") }
80
+ let(:submenu) { browser.quick_menu(:name, "Toolbar Popup Customize Menu")}
81
+
82
+ before(:each) do
83
+ addressfield.open_menu_with_rightclick("Toolbar Edit Item Popup Menu").should open_menu
84
+ end
85
+
86
+ after(:each) do
87
+ browser.close_all_menus
88
+ browser.close_all_dialogs
89
+ end
90
+
91
+ #describe '#close_menu_with_key_press' do
92
+ # it 'closes menu' #do
93
+ #browser.quick_menu(:name, "Toolbar Edit Item Popup Menu").quick_menuitem(:action, "Delete").close_menu_with_key_press("Toolbar Edit Item Popup Menu", "Esc").should close_menu
94
+ # end
95
+ #end
96
+
97
+ describe '#open_menu_with_hover' do
98
+ it 'opens submenu' do
99
+ menu.quick_menuitem(:submenu, "Toolbar Popup Customize Menu").open_menu_with_hover("Toolbar Popup Customize Menu").should open_menu
100
+ submenu.quick_menuitem(:action, "Customize Toolbars").open_dialog_with_click("Customize Toolbar Dialog").should > 0
101
+ #submenu.quick_menuitem(:action, "Customize Toolbars").close_menu_with_click("Toolbar Popup Customize Menu").should close_menu
102
+ end
103
+ end
104
+
105
+ describe '#close_menu_with_click' do
106
+ it 'closes menu'
107
+ end
108
+
109
+ end
110
+
111
+ describe 'QuickMenuItem' do
112
+ let(:addressfield) { browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field") }
113
+ let(:menu) { browser.quick_menu(:name, "Toolbar Edit Item Popup Menu") }
114
+ let(:submenu) { browser.quick_menu(:name, "Toolbar Popup Customize Menu")}
115
+ let(:mainmenu) { browser.quick_menu(:name, "Browser Button Menu Bar")}
116
+
117
+ let(:menubutton) { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar Head").quick_button(:name, "tbb_MenuButton")}
118
+ let(:bookmarksmenu) { browser.quick_menu(:name, "Browser Bookmarks Menu")}
119
+
120
+ let(:menubar) {browser.quick_menu(:name, "Main Menu")}
121
+
122
+ describe '#load_page_with_click' do
123
+ it 'loads a page (from bookmark)' #do
124
+ # menubutton.open_menu_with_click("Browser Button Menu Bar").should open_menu
125
+ # mainmenu.quick_menuitem(:submenu, "Browser Bookmarks Menu").open_menu_with_hover("Browser Bookmarks Menu").should open_menu
126
+ # #mainmenu.quick_menuitem(:shortcut, "B").open_menu_with_hover("Browser Bookmarks Menu").should open_menu
127
+ # bookmarksmenu.quick_menuitem(:text, "Kayak").load_page_with_click.should be > 0
128
+ # end
129
+ end
130
+
131
+ describe '#open_window_with_click' do
132
+ it 'opens window (Downloads tab)' do
133
+ menubutton.open_menu_with_click("Browser Button Menu Bar").should open_menu
134
+ mainmenu.quick_menuitem(:text, "Downloads").open_window_with_click("Transfers Panel Window").should open_window
135
+ end
136
+ after (:all) do
137
+ browser.close_all_tabs
138
+ end
139
+ end
140
+
141
+
142
+ describe '#quick_menuitems' do
143
+ #before:enable menubar?
144
+ it 'lists menuitems' do
145
+ addressfield.open_menu_with_rightclick("Toolbar Edit Item Popup Menu").should open_menu
146
+ browser.quick_menuitems.should_not be_empty
147
+ end
148
+ end
149
+
150
+
151
+ describe '#open_window_with_click using main menu bar' do
152
+ before(:each) do
153
+ #enable menubar
154
+ if menubutton.exists?
155
+ menubutton.open_menu_with_click("Browser Button Menu Bar").should open_menu
156
+ mainmenu.quick_menuitem(:action, "Enable menu bar").toggle_with_click
157
+ end
158
+ end
159
+
160
+ it 'opens window (Downloads tab)' do
161
+ menubar.quick_menuitem(:name, "Browser Tools Menu").open_menu_with_click("Browser Tools Menu").should open_menu
162
+
163
+ browser.quick_menu(:name, "Browser Tools Menu").quick_menuitem(:text, "Downloads").open_window_with_click("Transfers Panel Window").should open_window
164
+ end
165
+ end
166
+ end
167
+
168
+
@@ -3,8 +3,8 @@ require File.expand_path('../shared/shared', __FILE__)
3
3
 
4
4
  describe 'QuickTab' do
5
5
 
6
- let(:url1) { "http://t/platforms/desktop/automated/resources/documents/page1.html" }
7
- let(:url2) { "http://t/platforms/desktop/automated/resources/documents/page2.html" }
6
+ let(:url1) { "http://t/platforms/desktop/automated/resources/documents/page1.html" }
7
+ let(:url2) { "http://t/platforms/desktop/automated/resources/documents/page2.html" }
8
8
 
9
9
  let(:widget) { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 0") }
10
10
 
@@ -14,7 +14,7 @@ describe 'QuickTab' do
14
14
  it_behaves_like "a button"
15
15
 
16
16
  its(:type) { should == :tabbutton }
17
-
17
+
18
18
  describe '#quick_tab' do
19
19
  before(:all) do
20
20
  browser.quick_window(:name, "Document Window").quick_toolbar(:name, "Document Toolbar").quick_addressfield(:name, "tba_address_field").load_page_with_url(url1).should == url1
@@ -38,7 +38,10 @@ describe 'QuickTab' do
38
38
 
39
39
  describe '#move_with_drag' do
40
40
  describe 'when target is not a tab' do
41
- it 'raises UnknownObjectException'
41
+ it 'raises UnknownObjectException' do
42
+ browser.load_window_with_action("Document Window", "Open url in current page", "http://t/platforms/desktop/automated/resources/documents/page1.html").should > 0
43
+ expect { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:text, "Test Page 1").move_with_drag(browser.quick_window(:name, "Browser Window")) }.to raise_error OperaWatir::DesktopExceptions::UnknownObjectException
44
+ end
42
45
  end
43
46
  end
44
47
 
@@ -52,20 +55,22 @@ describe 'QuickTab' do
52
55
  browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 0").activate_tab_with_click.should > 0
53
56
  end
54
57
 
55
- context 'when the window is already active' do
56
- it 'returns 0' do
58
+ it 'when the window is already active returns 0' do
57
59
  browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 0").activate_tab_with_click.should == 0
58
- end
59
60
  end
60
-
61
+
61
62
  context 'when the tab button does not exist' do
62
- it 'raises UnknownObjectException' #do
63
- #expect { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 2").activate_tab_with_click }.to raise(OperaWatir::Exceptions::UnknownObjectException)
64
- #end
63
+ it 'raises UnknownObjectException' do
64
+ expect { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 2").activate_tab_with_click }.to raise_error OperaWatir::Exceptions::UnknownObjectException
65
+ end
65
66
  end
66
67
 
67
68
  context 'when the tab button is not visible' do
68
- it 'raises WidgetNotVisibleException'
69
+ it 'raises WidgetNotVisibleException' #do
70
+ #tab_to_drop_on = browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:text, "Test Page 2")
71
+ #browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:text, "Test Page 1").move_with_drag(tab_to_drop_on)
72
+ #expect { browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 1").activate_tab_with_click }.to raise_error OperaWatir::DesktopExceptions::WidgetNotVisibleException
73
+ #end
69
74
  end
70
75
 
71
76
  it 'activates a tab with click' do
@@ -75,12 +80,18 @@ describe 'QuickTab' do
75
80
  browser.quick_window(:name, "Browser Window").quick_toolbar(:name, "Pagebar").quick_tab(:name, "Tab 1").text.should == "Test Page 2"
76
81
  end
77
82
  end
78
-
83
+
79
84
  #Note this part of api will probably change when new tab grouping is handled
80
85
  describe '#group_with_drag' do
81
- it 'raises UnknownObjectException if target is not a tab'
86
+
87
+ it 'raises UnknownObjectException if target is not a tab'
88
+
82
89
  it 'returns the number of tabs in the tab group'
83
- it 'returns 1 if not a group'
90
+
91
+ it 'returns 1 if not a group'
92
+
84
93
  end
85
94
 
95
+
96
+
86
97
  end