operawatir 0.4.1.pre5-jruby → 0.4.1.pre6-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 (60) hide show
  1. data/AUTHORS +1 -0
  2. data/CHANGES +170 -3
  3. data/README.md +30 -27
  4. data/VERSION +1 -1
  5. data/bin/desktopwatir +19 -16
  6. data/bin/operawatir +4 -4
  7. data/lib/operadriver/client-combined-nodeps.jar +0 -0
  8. data/lib/operadriver/webdriver-opera.jar +0 -0
  9. data/lib/operawatir/browser.rb +1 -2
  10. data/lib/operawatir/collection.rb +1 -1
  11. data/lib/operawatir/compat/collection.rb +13 -0
  12. data/lib/operawatir/compat/element.rb +57 -15
  13. data/lib/operawatir/compat/window.rb +41 -0
  14. data/lib/operawatir/desktop_browser.rb +26 -9
  15. data/lib/operawatir/desktop_container.rb +82 -29
  16. data/lib/operawatir/element.rb +48 -24
  17. data/lib/operawatir/keys.rb +18 -25
  18. data/lib/operawatir/preferences.rb +223 -6
  19. data/lib/operawatir/quickwidgets/quick_button.rb +8 -2
  20. data/lib/operawatir/quickwidgets/quick_checkbox.rb +4 -4
  21. data/lib/operawatir/quickwidgets/quick_editfield.rb +1 -1
  22. data/lib/operawatir/quickwidgets/quick_find.rb +11 -0
  23. data/lib/operawatir/quickwidgets/quick_griditem.rb +11 -0
  24. data/lib/operawatir/quickwidgets/quick_gridlayout.rb +11 -0
  25. data/lib/operawatir/quickwidgets/quick_searchfield.rb +5 -1
  26. data/lib/operawatir/quickwidgets/quick_tab.rb +0 -1
  27. data/lib/operawatir/quickwidgets/quick_treeitem.rb +22 -1
  28. data/lib/operawatir/quickwidgets/quick_widget.rb +61 -22
  29. data/lib/operawatir/quickwidgets/quick_window.rb +26 -0
  30. data/lib/operawatir/quickwidgets.rb +2 -1
  31. data/lib/operawatir/window.rb +36 -25
  32. data/lib/operawatir.rb +1 -1
  33. data/operawatir.gemspec +38 -5
  34. data/spec/operawatir/core/element_spec.rb +5 -0
  35. data/spec/operawatir/core/window_spec.rb +42 -0
  36. data/spec/operawatir/desktop/desktopbrowser_spec.rb +16 -0
  37. data/spec/operawatir/desktop/quickaddressfield_spec.rb +15 -3
  38. data/spec/operawatir/desktop/quickbutton_spec.rb +234 -20
  39. data/spec/operawatir/desktop/quickcheckbox_spec.rb +36 -0
  40. data/spec/operawatir/desktop/quickdialogtab_spec.rb +30 -0
  41. data/spec/operawatir/desktop/quickdropdown_spec.rb +39 -0
  42. data/spec/operawatir/desktop/quickeditfield_spec.rb +51 -0
  43. data/spec/operawatir/desktop/quickfind_spec.rb +30 -0
  44. data/spec/operawatir/desktop/quickgriditem_spec.rb +16 -0
  45. data/spec/operawatir/desktop/quickgridlayout_spec.rb +15 -0
  46. data/spec/operawatir/desktop/quicklabel_spec.rb +28 -0
  47. data/spec/operawatir/desktop/quickradiobutton_spec.rb +24 -0
  48. data/spec/operawatir/desktop/quicksearchfield_spec.rb +26 -0
  49. data/spec/operawatir/desktop/quicktab_spec.rb +86 -0
  50. data/spec/operawatir/desktop/quickthumbnail_spec.rb +37 -0
  51. data/spec/operawatir/desktop/quicktreeitem_spec.rb +135 -0
  52. data/spec/operawatir/desktop/quicktreeview_spec.rb +30 -0
  53. data/spec/operawatir/desktop/quickwidget_spec.rb +52 -11
  54. data/spec/operawatir/desktop/quickwindow_spec.rb +11 -0
  55. data/spec/operawatir/desktop/shared/shared.rb +100 -10
  56. data/spec/operawatir/fixtures/browsers.svg +367 -0
  57. data/spec/operawatir/fixtures/frames.html +13 -0
  58. data/spec/watir2/select_list_spec.rb +84 -71
  59. metadata +37 -4
  60. data/lib/operadriver/selenium-common.jar +0 -0
data/lib/operawatir.rb CHANGED
@@ -4,7 +4,7 @@ require 'deprecated'
4
4
  require 'java'
5
5
  include Java
6
6
 
7
- %w(commons-jxpath-1.3.jar protobuf-java-2.3.0.jar selenium-common.jar
7
+ %w(commons-jxpath-1.3.jar protobuf-java-2.3.0.jar client-combined-nodeps.jar
8
8
  webdriver-opera.jar commons-io-2.0.1.jar).each { |jar| require "operadriver/#{jar}" }
9
9
 
10
10
  include_class org.openqa.selenium.WebDriver
data/operawatir.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{operawatir}
8
- s.version = "0.4.1.pre3"
8
+ s.version = "0.4.1.pre6"
9
9
  s.platform = %q{jruby}
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["Andreas Tolf Tolfsen", "Chris Lloyd", "Stuart Knightley", "Deniz Turkoglu"]
13
- s.date = %q{2011-03-14}
13
+ s.date = %q{2011-05-09}
14
14
  s.description = %q{ OperaWatir is a part of the Watir (pronounced water) family of
15
15
  free software Ruby libraries for automating web browsers.
16
16
  OperaWatir provides a querying engine and Ruby bindings for a
@@ -37,10 +37,10 @@ Gem::Specification.new do |s|
37
37
  "bin/operawatir",
38
38
  "lib/operadriver/APACHE_2.0_LICENSE.txt",
39
39
  "lib/operadriver/NEW_BSD_LICENSE.txt",
40
+ "lib/operadriver/client-combined-nodeps.jar",
40
41
  "lib/operadriver/commons-io-2.0.1.jar",
41
42
  "lib/operadriver/commons-jxpath-1.3.jar",
42
43
  "lib/operadriver/protobuf-java-2.3.0.jar",
43
- "lib/operadriver/selenium-common.jar",
44
44
  "lib/operadriver/webdriver-opera.jar",
45
45
  "lib/operawatir.rb",
46
46
  "lib/operawatir/browser.rb",
@@ -72,6 +72,9 @@ Gem::Specification.new do |s|
72
72
  "lib/operawatir/quickwidgets/quick_dialogtab.rb",
73
73
  "lib/operawatir/quickwidgets/quick_dropdown.rb",
74
74
  "lib/operawatir/quickwidgets/quick_editfield.rb",
75
+ "lib/operawatir/quickwidgets/quick_find.rb",
76
+ "lib/operawatir/quickwidgets/quick_griditem.rb",
77
+ "lib/operawatir/quickwidgets/quick_gridlayout.rb",
75
78
  "lib/operawatir/quickwidgets/quick_label.rb",
76
79
  "lib/operawatir/quickwidgets/quick_radiobutton.rb",
77
80
  "lib/operawatir/quickwidgets/quick_searchfield.rb",
@@ -110,10 +113,26 @@ Gem::Specification.new do |s|
110
113
  "spec/operawatir/desktop/desktopbrowser_spec.rb",
111
114
  "spec/operawatir/desktop/quickaddressfield_spec.rb",
112
115
  "spec/operawatir/desktop/quickbutton_spec.rb",
116
+ "spec/operawatir/desktop/quickcheckbox_spec.rb",
117
+ "spec/operawatir/desktop/quickdialogtab_spec.rb",
118
+ "spec/operawatir/desktop/quickdropdown_spec.rb",
119
+ "spec/operawatir/desktop/quickeditfield_spec.rb",
120
+ "spec/operawatir/desktop/quickfind_spec.rb",
121
+ "spec/operawatir/desktop/quickgriditem_spec.rb",
122
+ "spec/operawatir/desktop/quickgridlayout_spec.rb",
123
+ "spec/operawatir/desktop/quicklabel_spec.rb",
124
+ "spec/operawatir/desktop/quickradiobutton_spec.rb",
125
+ "spec/operawatir/desktop/quicksearchfield_spec.rb",
126
+ "spec/operawatir/desktop/quicktab_spec.rb",
127
+ "spec/operawatir/desktop/quickthumbnail_spec.rb",
128
+ "spec/operawatir/desktop/quicktreeitem_spec.rb",
129
+ "spec/operawatir/desktop/quicktreeview_spec.rb",
113
130
  "spec/operawatir/desktop/quickwidget_spec.rb",
114
131
  "spec/operawatir/desktop/quickwindow_spec.rb",
115
132
  "spec/operawatir/desktop/shared/shared.rb",
116
133
  "spec/operawatir/fixtures/boxes.html",
134
+ "spec/operawatir/fixtures/browsers.svg",
135
+ "spec/operawatir/fixtures/frames.html",
117
136
  "spec/operawatir/fixtures/grid.html",
118
137
  "spec/operawatir/fixtures/input_fields_value.html",
119
138
  "spec/operawatir/fixtures/onclick.html",
@@ -254,7 +273,7 @@ Gem::Specification.new do |s|
254
273
  s.homepage = %q{http://www.opera.com/developer/tools/operawatir/}
255
274
  s.require_paths = ["lib"]
256
275
  s.rubyforge_project = %q{operawatir}
257
- s.rubygems_version = %q{1.3.6}
276
+ s.rubygems_version = %q{1.3.7}
258
277
  s.summary = %q{Toolkit for automating interactions with the Opera web browser.}
259
278
  s.test_files = [
260
279
  "spec/fire_event/fire_event.rb",
@@ -267,6 +286,20 @@ Gem::Specification.new do |s|
267
286
  "spec/operawatir/desktop/desktopbrowser_spec.rb",
268
287
  "spec/operawatir/desktop/quickaddressfield_spec.rb",
269
288
  "spec/operawatir/desktop/quickbutton_spec.rb",
289
+ "spec/operawatir/desktop/quickcheckbox_spec.rb",
290
+ "spec/operawatir/desktop/quickdialogtab_spec.rb",
291
+ "spec/operawatir/desktop/quickdropdown_spec.rb",
292
+ "spec/operawatir/desktop/quickeditfield_spec.rb",
293
+ "spec/operawatir/desktop/quickfind_spec.rb",
294
+ "spec/operawatir/desktop/quickgriditem_spec.rb",
295
+ "spec/operawatir/desktop/quickgridlayout_spec.rb",
296
+ "spec/operawatir/desktop/quicklabel_spec.rb",
297
+ "spec/operawatir/desktop/quickradiobutton_spec.rb",
298
+ "spec/operawatir/desktop/quicksearchfield_spec.rb",
299
+ "spec/operawatir/desktop/quicktab_spec.rb",
300
+ "spec/operawatir/desktop/quickthumbnail_spec.rb",
301
+ "spec/operawatir/desktop/quicktreeitem_spec.rb",
302
+ "spec/operawatir/desktop/quicktreeview_spec.rb",
270
303
  "spec/operawatir/desktop/quickwidget_spec.rb",
271
304
  "spec/operawatir/desktop/quickwindow_spec.rb",
272
305
  "spec/operawatir/desktop/shared/shared.rb",
@@ -371,7 +404,7 @@ Gem::Specification.new do |s|
371
404
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
372
405
  s.specification_version = 3
373
406
 
374
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
407
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
375
408
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
376
409
  s.add_development_dependency(%q<jeweler>, [">= 0"])
377
410
  s.add_development_dependency(%q<BlueCloth>, ["= 1.0.1"])
@@ -78,6 +78,11 @@ describe 'Element' do
78
78
  @two.visual_hash.should_not == @three.visual_hash
79
79
  end
80
80
 
81
+ it 'returns a hash of an SVG element' do
82
+ browser.url = fixture('browsers.svg')
83
+ window.find_by_tag('svg').visual_hash.should =~ /^(0x)[a-f0-9]{32}$/
84
+ end
85
+
81
86
  end
82
87
 
83
88
  end
@@ -22,13 +22,55 @@ describe 'Window' do
22
22
  browser.url = fixture('grid.html')
23
23
  window.visual_hash.should_not == @reference
24
24
  end
25
+
26
+ it 'returns a hash of an SVG document' do
27
+ browser.url = fixture('browsers.svg')
28
+ browser.visual_hash.should match /^(0x)[a-f0-9]{32}$/
29
+ end
25
30
  end
26
31
 
32
+
33
+ #
27
34
  # This method is deprecated, but must be tested anyway.
35
+ #
36
+
28
37
  describe '#eval_js' do
29
38
  it 'works the same way as execute_script' do
30
39
  window.eval_js('1+1').should == window.execute_script('1+1');
31
40
  end
32
41
  end
33
42
 
43
+ #
44
+ # The frames implementation is a relic from the old OperaWatir. We
45
+ # need to replace this with a better frames implementation in the
46
+ # future.
47
+ #
48
+
49
+ describe '#frame' do
50
+ before :all do
51
+ require 'operawatir/compat/window'
52
+ OperaWatir::Window.send :include, OperaWatir::Compat::Window
53
+ browser.url = fixture('frames.html')
54
+ end
55
+
56
+ it 'will switch to the specified frame' do
57
+ window.frame(:name, 'test')
58
+ window.text.should include 'Lorem ipsum'
59
+ window.text.should_not include 'foobar'
60
+ end
61
+ end
62
+
63
+ describe '#switch_to_default' do
64
+ before :all do
65
+ browser.url = fixture('frames.html')
66
+ window.frame(:name, 'test')
67
+ end
68
+
69
+ it 'will switch back to the default top frame' do
70
+ window.switch_to_default
71
+ window.text.should include 'foobar'
72
+ window.text.should_not include 'Lorem ipsum'
73
+ end
74
+ end
75
+
34
76
  end
@@ -224,6 +224,22 @@ describe 'DesktopBrowser' do
224
224
  browser.cache_preferences_path.should_not be_empty
225
225
  end
226
226
  end
227
+
228
+ describe '#string' do
229
+ it 'returns string corresponding to string_id' do
230
+ browser.string("D_NEW_PREFERENCES_GENERAL").should == "General"
231
+ end
232
+ it 'removes ampersands in string with ampersand' do
233
+ browser.string("S_FIND_IN_PAGE").should == "Find in page"
234
+ end
235
+ it 'leaves ampersand in string when skip_ampersand is true' do
236
+ browser.string("S_FIND_IN_PAGE", false).should == "&Find in page"
237
+ end
238
+ #it 'fails in some reasonable way if string_id doesn\'t exist' do
239
+ # browser.string("SOME_STRING")
240
+ #end
241
+
242
+ end
227
243
 
228
244
  describe '#mac?' do
229
245
  end
@@ -9,9 +9,20 @@ describe 'QuickAddressfield' do
9
9
 
10
10
  subject { addressfield }
11
11
 
12
- it_behaves_like "a widget"
13
- it_behaves_like "an editfield"
14
-
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
+
15
26
  describe '#load_page_with_url' do
16
27
  it 'loads page' do
17
28
  addressfield.load_page_with_url("opera:debug").should == "opera:debug"
@@ -44,4 +55,5 @@ describe 'QuickAddressfield' do
44
55
  expect { unknown_addressfield.highlighted_text }.to raise_error OperaWatir::Exceptions::UnknownObjectException
45
56
  end
46
57
  end
58
+
47
59
  end
@@ -1,34 +1,248 @@
1
1
  require File.expand_path('../../watirspec_desktophelper', __FILE__)
2
+ require File.expand_path('../shared/shared', __FILE__)
2
3
 
3
4
  describe 'QuickButton' do
4
- describe '#default?' do
5
- end
6
5
 
7
- describe '#open_window_with_click' do
8
- end
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 }
9
11
 
10
- describe '#change_page_with_click' do
11
- end
12
+ it_behaves_like 'a widget'
13
+ it_behaves_like 'a button'
12
14
 
13
- describe '#close_window_with_click' do
14
- it 'raises exception'
15
- end
15
+ its(:type) { should == :button }
16
+
17
+ describe '#quick_button' do
18
+ it "constructs a button by its name"
19
+ end
16
20
 
17
- describe '#load_page_with_click' do
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")
18
32
  end
19
-
20
- describe '#toggle_with_click' do
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")
21
38
  end
22
-
23
- describe '#close_toolbar_with_click' do
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
24
41
  end
25
-
26
- describe '#expand_with_click' do
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
27
44
  end
45
+ end
28
46
 
29
- describe '#value' do
30
- end
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
31
227
 
32
- describe '#wait_for_enabled' do
228
+ describe '#wait_for_enabled' do
229
+ after(:each) do
230
+ browser.close_all_dialogs
33
231
  end
34
- 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