operawatir 0.4.1.pre5-jruby → 0.4.1.pre6-jruby

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