operawatir 0.5.1-jruby → 0.6.pre1-jruby

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,23 @@
1
+ v0.6.pre1 2011-12-01
2
+
3
+ [ENHANCEMENTS]
4
+
5
+ * Construction of DesktopWatir now uses desired capabilities, and
6
+ relies on shared code between OperaWatir and OperaDesktopWatir.
7
+ (andreastt)
8
+
9
+ [BUG FIXES]
10
+
11
+ * OperaDesktopHelper missed a line making it impossible to run
12
+ desktopwatir RSpec tests from `jruby -S rspec test.rb`.
13
+ (andreastt)
14
+
15
+ * Exposing browser.utils.* on DesktopBrowser. (andreastt)
16
+
17
+ [OTHER]
18
+
19
+ * Upgraded to OperaDriver v0.8.1. (andreastt)
20
+
1
21
  v0.5.1 2011-09-20
2
22
 
3
23
  [OTHER]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.pre1
data/bin/desktopwatir CHANGED
@@ -1,13 +1,14 @@
1
1
  #!/usr/bin/env jruby
2
2
  require 'rubygems'
3
3
  require 'optparse'
4
+ require 'stringio'
4
5
  require 'rspec'
5
6
  require 'rbconfig'
6
7
  require 'operawatir'
7
8
 
8
-
9
9
  @options = {
10
- #:manual => false,
10
+ :manual => false, # Defining this here so that we are sure
11
+ # it doesn't trigger manual mode
11
12
  :ng => false,
12
13
  :color_enabled => true,
13
14
  :check_syntax => false,
@@ -25,21 +26,16 @@ require 'operawatir'
25
26
  begin
26
27
  OptionParser.new do |opts|
27
28
  opts.banner = <<EOS
28
-
29
- Usage: desktopwatir [-l|--launcher=BINARY] [-e|--executable=BINARY]
30
- [-a|--args=ARGUMENTS] [--no-color] [-q|--no-quit] [-r|--no-restart]
31
- [--opera-idle] [-b|--backtrace] [-t|--tag=TAG] [-f|--format=FORMAT]
29
+ Usage: desktopwatir [-m|--manual] [-l|--launcher=BINARY]
30
+ [-e|--executable=BINARY] [-a|--args=ARGUMENTS] [--no-color]
31
+ [-q|--no-quit] [-r|--no-restart] [--opera-idle]
32
+ [-b|--backtrace] [-t|--tag=TAG] [-f|--format=FORMAT]
32
33
  [-o|--out=FILE] [-h|--help] [-v|--version] FILES
33
34
  EOS
34
35
 
35
36
  opts.separator ''
36
37
  opts.separator 'Specific options:'
37
38
 
38
- #run without launcher and with manual connection, restart not possible (same as -rq)
39
- #opts.on('-m', '--manual', 'Wait for a manual connection from opera:debug') do |c|
40
- # @options[:manual] = c
41
- #end
42
-
43
39
  opts.on('-l', '--launcher=BINARY', 'Path to launcher binary, will use environmental ',
44
40
  'variable OPERA_LAUNCHER if not specified') do |c|
45
41
  @options[:launcher] = c
@@ -96,6 +92,18 @@ EOS
96
92
  opts.separator ''
97
93
  opts.separator 'Common options:'
98
94
 
95
+ opts.on_tail('-d', '--debug=LEVEL', 'The logging level to use. Available levels: SEVERE',
96
+ '(highest), WARNING, INFO (default), CONFIG, FINE,',
97
+ 'FINER, FINEST (lowest), ALL') do |l|
98
+ available_levels = ['SEVERE', 'WARNING', 'INFO', 'CONFIG', 'FINE', 'FINER', 'FINEST', 'ALL']
99
+ raise OptionParser::InvalidArgument, l.to_s.inspect unless available_levels.include?(l)
100
+ @options[:logging_level] = l
101
+ end
102
+
103
+ opts.on_tail('--log=FILE', 'Output the log to a file') do |f|
104
+ @options[:logging_file] = f
105
+ end
106
+
99
107
  opts.on_tail('-h', '--help', 'Show this message') do
100
108
  abort opts.to_s
101
109
  end
@@ -105,7 +113,7 @@ EOS
105
113
  end
106
114
  end.parse!(ARGV)
107
115
  rescue OptionParser::InvalidOption => e
108
- abort "desktopwatir: Unknown option `#{e.to_s.sub(/invalid option:\s+/, '')}'"
116
+ abort "desktopwatir: #{e}"
109
117
  end
110
118
 
111
119
  if ARGV.empty?
data/bin/operawatir CHANGED
@@ -14,6 +14,7 @@ require 'operawatir'
14
14
  :output_stream => IO.new(1, 'w'),
15
15
  :format => 'progress',
16
16
  :no_quit => false,
17
+ :no_restart => false,
17
18
  :opera_idle => false,
18
19
  #:full_backtrace => false # TODO: Provide fix for RSpec
19
20
  }
@@ -24,10 +25,11 @@ require 'operawatir'
24
25
  begin
25
26
  OptionParser.new do |opts|
26
27
  opts.banner = <<EOS
27
- Usage: operawatir [-m|--manual] [-l|--launcher=BINARY] [--binary=BINARY]
28
- [-a|--args=ARGUMENTS] [-q|--no-quit] [--opera-idle] [-b|--backtrace]
29
- [--no-color] [-t|--tag=TAG] [-f|--format=FORMAT] [-o|--out=FILE]
30
- [-d|--debug=LEVEL] [--log=FILE] [-h|--help] [-v|--version] FILES
28
+ Usage: operawatir [-m|--manual] [-l|--launcher=BINARY]
29
+ [--binary=BINARY] [-a|--args=ARGUMENTS] [-q|--no-quit]
30
+ [--opera-idle] [-b|--backtrace] [--no-color] [-t|--tag=TAG]
31
+ [-f|--format=FORMAT] [-o|--out=FILE] [-d|--debug=LEVEL]
32
+ [--log=FILE] [-h|--help] [-v|--version] FILES
31
33
  EOS
32
34
 
33
35
  opts.separator ''
Binary file
data/lib/operawatir.rb CHANGED
@@ -4,8 +4,9 @@ require 'deprecated'
4
4
  require 'java'
5
5
  include Java
6
6
 
7
- %w(commons-jxpath-1.3.jar protobuf-java-2.4.1.jar selenium-nodeps-20100909.jar
8
- operadriver-v0.7.3.jar commons-io-2.0.1.jar guava-r09.jar).each { |jar| require "operadriver/#{jar}" }
7
+ %w(commons-jxpath-1.3.jar commons-exec-1.1.jar protobuf-java-2.4.1.jar
8
+ selenium-java-2.13.0.jar operalaunchers-0.3.jar operadriver-v0.8.1.jar
9
+ guava-10.0.1.jar).each { |jar| require "operadriver/#{jar}" }
9
10
 
10
11
  include_class org.openqa.selenium.WebDriver
11
12
  include_class org.openqa.selenium.remote.RemoteWebElement
@@ -199,17 +199,19 @@ class OperaWatir::Browser
199
199
 
200
200
  private
201
201
 
202
- def self.desired_capabilities
203
- @desired_capabilities ||= DesiredCapabilities.new.tap { |s|
204
- s.setCapability('opera.logging.level', self.settings[:logging_level]) if self.settings[:logging_level]
205
- s.setCapability('opera.logging.file', self.settings[:logging_file]) if self.settings[:logging_file]
206
- s.setCapability('opera.autostart', false) if self.settings[:manual]
207
- s.setCapability('opera.launcher', self.settings[:launcher]) if self.settings[:launcher]
208
- s.setCapability('opera.binary', self.settings[:path]) if self.settings[:path]
209
- s.setCapability('opera.arguments', self.settings[:args].to_s) if self.settings[:args]
210
- s.setCapability('opera.no_quit', true) if self.settings[:no_quit]
211
- s.setCapability('opera.idle', true) if self.settings[:opera_idle] or ENV['OPERA_IDLE'].truthy?
212
- }
202
+ def self.desired_capabilities(desktopwatir = false)
203
+ @desired_capabilities ||= DesiredCapabilities.new.tap do |c|
204
+ c.setCapability('opera.logging.level', self.settings[:logging_level]) if self.settings[:logging_level]
205
+ c.setCapability('opera.logging.file', self.settings[:logging_file]) if self.settings[:logging_file]
206
+ c.setCapability('opera.autostart', false) if self.settings[:manual]
207
+ c.setCapability('opera.launcher', self.settings[:launcher]) if self.settings[:launcher]
208
+ c.setCapability('opera.binary', self.settings[:path]) if self.settings[:path]
209
+ c.setCapability('opera.arguments', self.settings[:args].to_s) if self.settings[:args]
210
+ c.setCapability('opera.no_quit', true) if self.settings[:no_quit]
211
+ c.setCapability('opera.no_restart', true) if self.settings[:no_restart]
212
+ c.setCapability('opera.guess_binary_path', false) if desktopwatir
213
+ c.setCapability('opera.idle', true) if self.settings[:opera_idle] or ENV['OPERA_IDLE'].truthy?
214
+ end
213
215
  end
214
216
 
215
217
  end
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  module OperaWatir
2
3
  class DesktopBrowser < Browser
3
4
  include DesktopContainer
@@ -13,7 +14,7 @@ module OperaWatir
13
14
  def initialize
14
15
  OperaWatir.compatibility! unless OperaWatir.api >= 3
15
16
 
16
- self.driver = OperaDesktopDriver.new(self.class.opera_driver_settings)
17
+ self.driver = OperaDesktopDriver.new(self.class.desired_capabilities(true))
17
18
  self.active_window = OperaWatir::Window.new(self)
18
19
  self.preferences = OperaWatir::Preferences.new(self)
19
20
  self.keys = OperaWatir::Keys.new(self)
@@ -604,8 +605,8 @@ module OperaWatir
604
605
  return 0 if win_id == 0
605
606
 
606
607
  #Ensure is Expanded
607
- if quick_button(:name, "Destails_expand").value == 0
608
- quick_button(:name, "Destails_expand").toggle_with_click
608
+ if quick_button(:name, "Details_expand").value == 0
609
+ quick_button(:name, "Details_expand").toggle_with_click
609
610
  end
610
611
 
611
612
  quick_checkboxes("Clear Private Data Dialog").each do |box|
@@ -796,26 +797,11 @@ module OperaWatir
796
797
 
797
798
  private
798
799
 
799
- def close_menu
800
+ def close_menu
800
801
  wait_start
801
802
  key_press_direct("Esc")
802
803
  wait_for_menu_closed("")
803
- end
804
-
805
-
806
- def self.opera_driver_settings
807
- @opera_driver_settings ||= OperaDriverSettings.new.tap {|s|
808
- #s.setRunOperaLauncherFromOperaDriver true
809
- s.setAutostart false if self.settings[:manual]
810
- s.setOperaLauncherBinary self.settings[:launcher]
811
- s.setOperaBinaryLocation self.settings[:path]
812
- # s.setOperaBinaryArguments self.settings[:args].to_s + ' -autotestmode'
813
- s.setNoQuit self.settings[:no_quit]
814
- s.setNoRestart self.settings[:no_restart]
815
- s.setGuessOperaPath false
816
- s.setUseOperaIdle false if !self.settings[:opera_idle]
817
- }
818
- end
804
+ end
819
805
 
820
806
  # Gets the parent widget name of which there is none here
821
807
  def parent_widget
@@ -107,3 +107,5 @@ private
107
107
  end
108
108
  end
109
109
  end
110
+
111
+ OperaWatir::DesktopHelper.run!
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.5.1"
8
+ s.version = "0.6.pre1"
9
9
  s.platform = %q{jruby}
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.authors = ["Andreas Tolf Tolfsen", "Chris Lloyd", "Stuart Knightley", "Deniz Turkoglu"]
13
- s.date = %q{2011-09-20}
11
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
12
+ s.authors = [%q{Andreas Tolf Tolfsen}, %q{Chris Lloyd}, %q{Stuart Knightley}, %q{Deniz Turkoglu}]
13
+ s.date = %q{2011-12-01}
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
@@ -18,8 +18,8 @@ Gem::Specification.new do |s|
18
18
  browser. It aims for full compliancy with the Watir 2 and Watir 3
19
19
  specifications.
20
20
  }
21
- s.email = ["andreastt@opera.com", "christopherl@opera.com", "stuartk@opera.com", "dturkoglu@opera.com"]
22
- s.executables = ["desktopwatir", "operawatir"]
21
+ s.email = [%q{andreastt@opera.com}, %q{christopherl@opera.com}, %q{stuartk@opera.com}, %q{dturkoglu@opera.com}]
22
+ s.executables = [%q{desktopwatir}, %q{operawatir}]
23
23
  s.extra_rdoc_files = [
24
24
  "README.md"
25
25
  ]
@@ -37,12 +37,13 @@ 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/commons-io-2.0.1.jar",
40
+ "lib/operadriver/commons-exec-1.1.jar",
41
41
  "lib/operadriver/commons-jxpath-1.3.jar",
42
- "lib/operadriver/guava-r09.jar",
43
- "lib/operadriver/operadriver-v0.7.3.jar",
42
+ "lib/operadriver/guava-10.0.1.jar",
43
+ "lib/operadriver/operadriver-v0.8.1.jar",
44
+ "lib/operadriver/operalaunchers-0.3.jar",
44
45
  "lib/operadriver/protobuf-java-2.4.1.jar",
45
- "lib/operadriver/selenium-nodeps-20100909.jar",
46
+ "lib/operadriver/selenium-java-2.13.0.jar",
46
47
  "lib/operawatir.rb",
47
48
  "lib/operawatir/actions.rb",
48
49
  "lib/operawatir/browser.rb",
@@ -292,9 +293,9 @@ Gem::Specification.new do |s|
292
293
  "utils/formatters/spartan_formatter.rb"
293
294
  ]
294
295
  s.homepage = %q{http://www.opera.com/developer/tools/operawatir/}
295
- s.require_paths = ["lib"]
296
+ s.require_paths = [%q{lib}]
296
297
  s.rubyforge_project = %q{operawatir}
297
- s.rubygems_version = %q{1.5.1}
298
+ s.rubygems_version = %q{1.8.9}
298
299
  s.summary = %q{Toolkit for automating interactions with the Opera web browser.}
299
300
 
300
301
  if s.respond_to? :specification_version then
@@ -156,11 +156,11 @@ describe 'QuickButton' do
156
156
  end
157
157
 
158
158
  it 'returns value = 1 of button when button is pressed' do
159
- browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 1
159
+ browser.quick_button(:name, "Details_expand").toggle_with_click.should == 1
160
160
  end
161
161
 
162
162
  it 'returns value = 0 of button when button is unpressed' do
163
- browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 0
163
+ browser.quick_button(:name, "Details_expand").toggle_with_click.should == 0
164
164
  browser.close_dialog("Clear Private Data Dialog").should close_dialog
165
165
  end
166
166
 
@@ -182,13 +182,13 @@ describe 'QuickButton' do
182
182
  end
183
183
 
184
184
  it 'expands dialog with click' do
185
- browser.quick_button(:name, "Destails_expand").expand_with_click
185
+ browser.quick_button(:name, "Details_expand").expand_with_click
186
186
  browser.quick_button(:name, "button_manage_wand").should be_visible
187
187
  end
188
188
 
189
189
 
190
190
  it 'collapses dialog with click ' do
191
- browser.quick_button(:name, "Destails_expand").expand_with_click
191
+ browser.quick_button(:name, "Details_expand").expand_with_click
192
192
  browser.quick_button(:name, "button_manage_wand").should_not be_visible
193
193
  end
194
194
 
@@ -208,13 +208,13 @@ describe 'QuickButton' do
208
208
  end
209
209
 
210
210
  it 'returns 1 when button is pressed' do
211
- browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 1
212
- browser.quick_button(:name, "Destails_expand").value.should == 1
211
+ browser.quick_button(:name, "Details_expand").toggle_with_click.should == 1
212
+ browser.quick_button(:name, "Details_expand").value.should == 1
213
213
  end
214
214
 
215
215
  it 'returns 0 when button is unpressed' do
216
- browser.quick_button(:name, "Destails_expand").toggle_with_click.should == 0
217
- browser.quick_button(:name, "Destails_expand").value.should == 0
216
+ browser.quick_button(:name, "Details_expand").toggle_with_click.should == 0
217
+ browser.quick_button(:name, "Details_expand").value.should == 0
218
218
  end
219
219
 
220
220
  after(:all) do
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: operawatir
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.5.1
4
+ prerelease: 4
5
+ version: 0.6.pre1
6
6
  platform: jruby
7
7
  authors:
8
8
  - Andreas Tolf Tolfsen
@@ -13,8 +13,7 @@ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
15
 
16
- date: 2011-09-20 00:00:00 +02:00
17
- default_executable:
16
+ date: 2011-12-01 00:00:00 Z
18
17
  dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
19
  name: bundler
@@ -285,12 +284,13 @@ files:
285
284
  - bin/operawatir
286
285
  - lib/operadriver/APACHE_2.0_LICENSE.txt
287
286
  - lib/operadriver/NEW_BSD_LICENSE.txt
288
- - lib/operadriver/commons-io-2.0.1.jar
287
+ - lib/operadriver/commons-exec-1.1.jar
289
288
  - lib/operadriver/commons-jxpath-1.3.jar
290
- - lib/operadriver/guava-r09.jar
291
- - lib/operadriver/operadriver-v0.7.3.jar
289
+ - lib/operadriver/guava-10.0.1.jar
290
+ - lib/operadriver/operadriver-v0.8.1.jar
291
+ - lib/operadriver/operalaunchers-0.3.jar
292
292
  - lib/operadriver/protobuf-java-2.4.1.jar
293
- - lib/operadriver/selenium-nodeps-20100909.jar
293
+ - lib/operadriver/selenium-java-2.13.0.jar
294
294
  - lib/operawatir.rb
295
295
  - lib/operawatir/actions.rb
296
296
  - lib/operawatir/browser.rb
@@ -538,7 +538,6 @@ files:
538
538
  - utils/formatters/new_spartan_formatter.rb
539
539
  - utils/formatters/operahelper_formatter.rb
540
540
  - utils/formatters/spartan_formatter.rb
541
- has_rdoc: true
542
541
  homepage: http://www.opera.com/developer/tools/operawatir/
543
542
  licenses: []
544
543
 
@@ -556,13 +555,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
556
555
  required_rubygems_version: !ruby/object:Gem::Requirement
557
556
  none: false
558
557
  requirements:
559
- - - ">="
558
+ - - ">"
560
559
  - !ruby/object:Gem::Version
561
- version: "0"
560
+ version: 1.3.1
562
561
  requirements: []
563
562
 
564
563
  rubyforge_project: operawatir
565
- rubygems_version: 1.5.1
564
+ rubygems_version: 1.8.9
566
565
  signing_key:
567
566
  specification_version: 3
568
567
  summary: Toolkit for automating interactions with the Opera web browser.
Binary file
Binary file