operawatir 0.3.2-jruby → 0.3.7.pre1-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.
- data/.gitmodules +3 -0
- data/.yardopts +0 -3
- data/Gemfile +5 -6
- data/Rakefile +7 -2
- data/VERSION +1 -1
- data/bin/desktopwatir +86 -93
- data/bin/operawatir +3 -18
- data/lib/operadriver/commons-io-2.0.1.jar +0 -0
- data/lib/operadriver/selenium-common.jar +0 -0
- data/lib/operadriver/webdriver-opera.jar +0 -0
- data/lib/operawatir/browser.rb +93 -77
- data/lib/operawatir/compat/browser.rb +5 -0
- data/lib/operawatir/compat/element.rb +10 -17
- data/lib/operawatir/compat.rb +0 -1
- data/lib/operawatir/desktop-waiter.rb +1 -143
- data/lib/operawatir/desktop_browser.rb +80 -33
- data/lib/operawatir/desktop_enums.rb +3 -3
- data/lib/operawatir/desktop_helper.rb +84 -0
- data/lib/operawatir/element.rb +23 -4
- data/lib/operawatir/exceptions.rb +3 -0
- data/lib/operawatir/helper.rb +4 -1
- data/lib/operawatir/platform.rb +0 -38
- data/lib/operawatir/preferences.rb +164 -0
- data/lib/operawatir/quickwidgets/quick_addressfield.rb +14 -0
- data/lib/operawatir/quickwidgets/quick_button.rb +7 -1
- data/lib/operawatir/quickwidgets/quick_checkbox.rb +5 -4
- data/lib/operawatir/quickwidgets/quick_dialogtab.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_editfield.rb +9 -4
- data/lib/operawatir/quickwidgets/quick_thumbnail.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_treeitem.rb +2 -2
- data/lib/operawatir/quickwidgets/quick_treeview.rb +2 -1
- data/lib/operawatir/quickwidgets/quick_widget.rb +51 -21
- data/lib/operawatir/quickwidgets/quick_window.rb +34 -19
- data/lib/operawatir/spatnav.rb +38 -0
- data/lib/operawatir/window.rb +76 -12
- data/lib/operawatir.rb +20 -4
- data/operawatir.gemspec +48 -28
- data/spec/new_watirspec/browser_spec.rb +5 -84
- data/spec/new_watirspec/clipboard_spec.rb +41 -56
- data/spec/new_watirspec/collection_spec.rb +2 -2
- data/spec/new_watirspec/element_spec.rb +8 -8
- data/spec/new_watirspec/keys_spec.rb +8 -10
- data/spec/new_watirspec/preferences_spec.rb +144 -0
- data/spec/new_watirspec/screenshot_spec.rb +34 -0
- data/spec/new_watirspec/spatnav_spec.rb +62 -0
- data/utils/formatters/operahelper_formatter.rb +50 -0
- data/utils/formatters/spartan_formatter.rb +29 -0
- metadata +126 -61
- data/lib/operawatir/compat/deprecation.rb +0 -46
- data/utils/launchers/launcher-linux-i686 +0 -0
- data/utils/launchers/launcher-linux-x86_64 +0 -0
- data/utils/launchers/launcher-mac +0 -0
- data/utils/launchers/launcher-win32-i86pc.exe +0 -0
data/lib/operawatir/window.rb
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
class OperaWatir::Window
|
2
|
+
include Deprecated
|
2
3
|
|
3
4
|
attr_accessor :browser
|
4
5
|
|
6
|
+
# Creates a new window in the browser. Note that Opera does not
|
7
|
+
# differentiate between windows and tabs. To directly create a
|
8
|
+
# _Window_ object, pass in the _Browser_.
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
# window = browser.url = 'http://example.org/'
|
12
|
+
# => OperaWatir::Window
|
13
|
+
#
|
14
|
+
# @param [Object] browser The _Browser_ object.
|
15
|
+
# @return [Object] A new _Window_ object.
|
5
16
|
def initialize(browser)
|
6
17
|
self.browser = browser
|
7
18
|
end
|
@@ -9,60 +20,92 @@ class OperaWatir::Window
|
|
9
20
|
|
10
21
|
# Navigation
|
11
22
|
|
23
|
+
# Navigates back one step in the browser's history.
|
12
24
|
def back
|
13
25
|
driver.navigate.back
|
14
26
|
end
|
15
27
|
|
28
|
+
# Navigates forward one step in the browser's history.
|
16
29
|
def forward
|
17
30
|
driver.navigate.forward
|
18
31
|
end
|
19
32
|
|
33
|
+
# Stops the currently loading page.
|
20
34
|
def stop
|
21
35
|
driver.stop
|
22
36
|
end
|
23
37
|
|
24
|
-
#
|
38
|
+
# Closes the currently open window.
|
25
39
|
def close
|
26
|
-
driver.close
|
40
|
+
driver.close # FIXME?
|
27
41
|
end
|
28
42
|
|
43
|
+
# Refreshes the currently loaded page.
|
29
44
|
def refresh
|
30
45
|
driver.navigate.refresh
|
31
46
|
end
|
32
47
|
|
48
|
+
# Gets the title of the document.
|
49
|
+
#
|
50
|
+
# @return [String] The title of the current document.
|
33
51
|
def title
|
34
52
|
driver.getTitle
|
35
53
|
end
|
36
54
|
|
55
|
+
# Gets the URL of the document.
|
56
|
+
#
|
57
|
+
# @return [String] The URL of the current document.
|
37
58
|
def url
|
38
59
|
driver.getCurrentUrl
|
39
60
|
end
|
40
61
|
|
62
|
+
# Navigates to a new URL.
|
63
|
+
#
|
64
|
+
# @param [String] url The new URL to navigate to.
|
41
65
|
def url=(url)
|
42
66
|
driver.get(url)
|
43
67
|
end
|
44
68
|
alias_method :goto, :url= # deprecate?
|
45
69
|
|
70
|
+
# Retrieves the text without the DOM or source code from the
|
71
|
+
# currently loaded document.
|
72
|
+
#
|
73
|
+
# @return [String] The text of the document.
|
46
74
|
def text
|
47
75
|
driver.getText
|
48
76
|
end
|
49
77
|
|
78
|
+
# Retrieves the HTML/source code of the currently loaded document.
|
79
|
+
#
|
80
|
+
# @return [String] The page source code.
|
50
81
|
def html
|
51
82
|
driver.getPageSource
|
52
83
|
end
|
53
84
|
|
54
|
-
#
|
85
|
+
# Checks if the window is still open. True if the window is still
|
86
|
+
# present, false otherwise.
|
87
|
+
#
|
88
|
+
# @return [Boolean] Whether the window is open or not.
|
55
89
|
def exists?
|
90
|
+
# TODO: Expose window querying from driver
|
56
91
|
url != ''
|
57
92
|
end
|
58
93
|
|
94
|
+
# TODO
|
95
|
+
=begin
|
59
96
|
def document
|
60
97
|
end
|
98
|
+
=end
|
61
99
|
|
62
|
-
|
100
|
+
# Executes the given JavaScript on the current window.
|
101
|
+
#
|
102
|
+
# @param [String] js The script to be executed.
|
103
|
+
# @return [String] Optionally returns the JS result.
|
104
|
+
def execute_script(js)
|
63
105
|
object = driver.executeScript(js, [].to_java(:string))
|
64
106
|
end
|
65
|
-
alias_method :
|
107
|
+
alias_method :eval_js, :execute_script
|
108
|
+
deprecated :eval_js, "window.execute_script"
|
66
109
|
|
67
110
|
|
68
111
|
# Keyboard
|
@@ -70,28 +113,46 @@ class OperaWatir::Window
|
|
70
113
|
def key(key)
|
71
114
|
driver.key(key)
|
72
115
|
end
|
116
|
+
deprecated :key, "browser.keys.send"
|
73
117
|
|
74
118
|
def key_down(key)
|
75
119
|
driver.keyDown(key)
|
76
120
|
end
|
121
|
+
deprecated :key, "browser.keys.down"
|
77
122
|
|
78
123
|
def key_up(key)
|
79
124
|
driver.keyUp(key)
|
80
125
|
end
|
126
|
+
deprecated :key, "browser.keys.up or browser.keys.release"
|
81
127
|
|
82
128
|
def type(text)
|
83
129
|
driver.type(text)
|
84
130
|
end
|
131
|
+
deprecated :key, "browser.keys.send"
|
85
132
|
|
86
133
|
|
87
134
|
# Opera-specific
|
88
135
|
|
136
|
+
# Saves a screenshot of the window to the filesystem of the server.
|
137
|
+
#
|
138
|
+
# @param [String] file_name The absolute path to the location where
|
139
|
+
# you want the screenshot saved.
|
140
|
+
# @param [Hash] hashes A list of hashes to compare. If the hashes
|
141
|
+
# match the hashes of what you are trying to take a screenshot of,
|
142
|
+
# this method will return a boolean value instead of an actual
|
143
|
+
# screenshot.
|
144
|
+
# @param [Integer] time_out Specifies how long we should wait before
|
145
|
+
# timing out.
|
146
|
+
#
|
147
|
+
# @return [Object] A ScreenShotReply object.
|
148
|
+
# @return [Boolean] True/false depending on whether you have given a
|
149
|
+
# hash as an argument.
|
89
150
|
def screenshot(file_name, hashes=[], time_out=2)
|
90
151
|
driver.saveScreenshot(file_name, time_out, hashes.to_java(:string))
|
91
152
|
end
|
92
153
|
|
93
154
|
def visual_hash(time_out=50)
|
94
|
-
document.visual_hash
|
155
|
+
document.visual_hash time_out
|
95
156
|
end
|
96
157
|
|
97
158
|
# Raw finders
|
@@ -107,6 +168,9 @@ class OperaWatir::Window
|
|
107
168
|
alias_method :find_by_class, :find_by_class_name
|
108
169
|
alias_method :find_by_tag, :find_by_tag_name
|
109
170
|
|
171
|
+
# Finds all elements in document.
|
172
|
+
#
|
173
|
+
# @return [Collection] A collection of elements.
|
110
174
|
def elements
|
111
175
|
find_by_tag('*')
|
112
176
|
end
|
@@ -123,7 +187,7 @@ private
|
|
123
187
|
|
124
188
|
# Locate elements by id.
|
125
189
|
#
|
126
|
-
# @return [Array]
|
190
|
+
# @return [Array] An array of found elements.
|
127
191
|
def find_elements_by_id(value)
|
128
192
|
driver.findElementsById(value).to_a.map do |node|
|
129
193
|
OperaWatir::Element.new(node)
|
@@ -132,7 +196,7 @@ private
|
|
132
196
|
|
133
197
|
# Locate elements by class.
|
134
198
|
#
|
135
|
-
# @return [Array]
|
199
|
+
# @return [Array] An array of found elements.
|
136
200
|
def find_elements_by_class_name(value)
|
137
201
|
driver.findElementsByClassName(value).to_a.map do |node|
|
138
202
|
OperaWatir::Element.new(node)
|
@@ -141,7 +205,7 @@ private
|
|
141
205
|
|
142
206
|
# Locate elements by tag name.
|
143
207
|
#
|
144
|
-
# @return [Array]
|
208
|
+
# @return [Array] An array of found elements.
|
145
209
|
def find_elements_by_tag_name(value)
|
146
210
|
driver.findElementsByTagName(value).to_a.map do |node|
|
147
211
|
OperaWatir::Element.new(node)
|
@@ -150,7 +214,7 @@ private
|
|
150
214
|
|
151
215
|
# Locate elements by CSS selector.
|
152
216
|
#
|
153
|
-
# @return [Array]
|
217
|
+
# @return [Array] An array of found elements.
|
154
218
|
def find_elements_by_css(value)
|
155
219
|
driver.findElementsByCssSelector(value).to_a.map do |node|
|
156
220
|
OperaWatir::Element.new(node)
|
@@ -159,7 +223,7 @@ private
|
|
159
223
|
|
160
224
|
# Locate elements by XPath expression.
|
161
225
|
#
|
162
|
-
# @return [Array]
|
226
|
+
# @return [Array] An array of found elements.
|
163
227
|
def find_elements_by_xpath(value)
|
164
228
|
driver.findElementsByXPath(value).to_a.map do |node|
|
165
229
|
OperaWatir::Element.new(node)
|
@@ -168,7 +232,7 @@ private
|
|
168
232
|
|
169
233
|
# Locate elements by attribute @name.
|
170
234
|
#
|
171
|
-
# @return [Array]
|
235
|
+
# @return [Array] An array of found elements.
|
172
236
|
def find_elements_by_name(value)
|
173
237
|
driver.findElementsByName(value).to_a.map do |node|
|
174
238
|
OperaWatir::Element.new(node)
|
data/lib/operawatir.rb
CHANGED
@@ -1,25 +1,31 @@
|
|
1
1
|
$LOAD_PATH.unshift File.expand_path('..', __FILE__)
|
2
2
|
require 'forwardable'
|
3
|
+
require 'deprecated'
|
3
4
|
require 'java'
|
4
5
|
include Java
|
5
6
|
|
6
7
|
%w(commons-jxpath-1.3.jar protobuf-java-2.3.0.jar selenium-common.jar
|
7
|
-
webdriver-opera.jar).each { |jar| require "operadriver/#{jar}" }
|
8
|
+
webdriver-opera.jar commons-io-2.0.1.jar).each { |jar| require "operadriver/#{jar}" }
|
8
9
|
|
9
10
|
include_class org.openqa.selenium.WebDriver
|
10
11
|
include_class org.openqa.selenium.RenderedWebElement
|
11
12
|
include_class org.openqa.selenium.NoSuchElementException
|
12
|
-
include_class com.opera.core.systems.OperaDesktopDriver
|
13
13
|
include_class com.opera.core.systems.OperaDriver
|
14
14
|
include_class com.opera.core.systems.OperaWebElement
|
15
15
|
include_class com.opera.core.systems.settings.OperaDriverSettings
|
16
16
|
|
17
|
+
# Desktop stuff
|
18
|
+
include_class com.opera.core.systems.OperaDesktopDriver
|
19
|
+
include_class com.opera.core.systems.scope.protos.DesktopWmProtos
|
20
|
+
include_class com.opera.core.systems.scope.protos.SystemInputProtos
|
21
|
+
include_class com.opera.core.systems.QuickWidget
|
22
|
+
|
17
23
|
$KCODE = 'u' # UTF-8 support
|
18
24
|
|
19
25
|
# TODO This should be replaced when we decide upon a better way of
|
20
|
-
# enabling the Watir
|
26
|
+
# enabling the Watir 3 API.
|
21
27
|
module OperaWatir
|
22
|
-
@current_api =
|
28
|
+
@current_api = 2
|
23
29
|
|
24
30
|
# Set the API version you wish to use. Please note that setting
|
25
31
|
# this after OperaWatir::Browser has been initialized will have no
|
@@ -41,6 +47,8 @@ end
|
|
41
47
|
require 'operawatir/version'
|
42
48
|
require 'operawatir/platform'
|
43
49
|
require 'operawatir/keys'
|
50
|
+
require 'operawatir/preferences'
|
51
|
+
require 'operawatir/spatnav'
|
44
52
|
|
45
53
|
require 'operawatir/exceptions'
|
46
54
|
require 'operawatir/selector'
|
@@ -50,3 +58,11 @@ require 'operawatir/window'
|
|
50
58
|
require 'operawatir/browser'
|
51
59
|
|
52
60
|
require 'operawatir/compat'
|
61
|
+
|
62
|
+
# Desktop stuff
|
63
|
+
require 'operawatir/desktop_enums'
|
64
|
+
require 'operawatir/desktop_common'
|
65
|
+
require 'operawatir/desktop_container'
|
66
|
+
require 'operawatir/desktop_browser'
|
67
|
+
require 'operawatir/quickwidgets'
|
68
|
+
require 'operawatir/desktop_exceptions'
|
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.3.
|
8
|
+
s.version = "0.3.5"
|
9
9
|
s.platform = %q{jruby}
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Deniz Turkoglu", "Andreas Tolf Tolfsen", "Chris Lloyd", "Stuart Knightley"]
|
13
|
-
s.date = %q{2011-
|
13
|
+
s.date = %q{2011-02-08}
|
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
|
16
16
|
browsers. OperaWatir provides a querying engine and Ruby bindings
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"README.md"
|
25
25
|
]
|
26
26
|
s.files = [
|
27
|
+
".gitmodules",
|
27
28
|
".yardopts",
|
28
29
|
"AUTHORS",
|
29
30
|
"Gemfile",
|
@@ -35,6 +36,7 @@ Gem::Specification.new do |s|
|
|
35
36
|
"bin/operawatir",
|
36
37
|
"lib/operadriver/APACHE_2.0_LICENSE.txt",
|
37
38
|
"lib/operadriver/NEW_BSD_LICENSE.txt",
|
39
|
+
"lib/operadriver/commons-io-2.0.1.jar",
|
38
40
|
"lib/operadriver/commons-jxpath-1.3.jar",
|
39
41
|
"lib/operadriver/protobuf-java-2.3.0.jar",
|
40
42
|
"lib/operadriver/selenium-common.jar",
|
@@ -45,7 +47,6 @@ Gem::Specification.new do |s|
|
|
45
47
|
"lib/operawatir/compat.rb",
|
46
48
|
"lib/operawatir/compat/browser.rb",
|
47
49
|
"lib/operawatir/compat/collection.rb",
|
48
|
-
"lib/operawatir/compat/deprecation.rb",
|
49
50
|
"lib/operawatir/compat/element.rb",
|
50
51
|
"lib/operawatir/compat/element_finders.rb",
|
51
52
|
"lib/operawatir/compat/window.rb",
|
@@ -55,11 +56,13 @@ Gem::Specification.new do |s|
|
|
55
56
|
"lib/operawatir/desktop_container.rb",
|
56
57
|
"lib/operawatir/desktop_enums.rb",
|
57
58
|
"lib/operawatir/desktop_exceptions.rb",
|
59
|
+
"lib/operawatir/desktop_helper.rb",
|
58
60
|
"lib/operawatir/element.rb",
|
59
61
|
"lib/operawatir/exceptions.rb",
|
60
62
|
"lib/operawatir/helper.rb",
|
61
63
|
"lib/operawatir/keys.rb",
|
62
64
|
"lib/operawatir/platform.rb",
|
65
|
+
"lib/operawatir/preferences.rb",
|
63
66
|
"lib/operawatir/quickwidgets.rb",
|
64
67
|
"lib/operawatir/quickwidgets/quick_addressfield.rb",
|
65
68
|
"lib/operawatir/quickwidgets/quick_button.rb",
|
@@ -78,6 +81,7 @@ Gem::Specification.new do |s|
|
|
78
81
|
"lib/operawatir/quickwidgets/quick_widget.rb",
|
79
82
|
"lib/operawatir/quickwidgets/quick_window.rb",
|
80
83
|
"lib/operawatir/selector.rb",
|
84
|
+
"lib/operawatir/spatnav.rb",
|
81
85
|
"lib/operawatir/version.rb",
|
82
86
|
"lib/operawatir/window.rb",
|
83
87
|
"operawatir.gemspec",
|
@@ -216,10 +220,8 @@ Gem::Specification.new do |s|
|
|
216
220
|
"spec/legacy_watirspec/watir_compatibility_spec.rb",
|
217
221
|
"spec/legacy_watirspec/watirspec_helper.rb",
|
218
222
|
"utils/Rakefile",
|
219
|
-
"utils/
|
220
|
-
"utils/
|
221
|
-
"utils/launchers/launcher-mac",
|
222
|
-
"utils/launchers/launcher-win32-i86pc.exe"
|
223
|
+
"utils/formatters/operahelper_formatter.rb",
|
224
|
+
"utils/formatters/spartan_formatter.rb"
|
223
225
|
]
|
224
226
|
s.homepage = %q{http://operasoftware.github.com/operawatir}
|
225
227
|
s.require_paths = ["lib"]
|
@@ -316,7 +318,10 @@ Gem::Specification.new do |s|
|
|
316
318
|
"spec/new_watirspec/element_spec.rb",
|
317
319
|
"spec/new_watirspec/guards.rb",
|
318
320
|
"spec/new_watirspec/keys_spec.rb",
|
321
|
+
"spec/new_watirspec/preferences_spec.rb",
|
322
|
+
"spec/new_watirspec/screenshot_spec.rb",
|
319
323
|
"spec/new_watirspec/server.rb",
|
324
|
+
"spec/new_watirspec/spatnav_spec.rb",
|
320
325
|
"spec/new_watirspec/watirspec_helper.rb",
|
321
326
|
"spec/new_watirspec/window_spec.rb"
|
322
327
|
]
|
@@ -327,56 +332,71 @@ Gem::Specification.new do |s|
|
|
327
332
|
|
328
333
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
329
334
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
330
|
-
s.add_development_dependency(%q<jeweler>, ["
|
331
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
332
|
-
s.add_development_dependency(%q<yard>, [">= 0.6.3"])
|
335
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
333
336
|
s.add_development_dependency(%q<bluecloth>, ["= 1.0.1"])
|
334
|
-
s.add_development_dependency(%q<
|
335
|
-
s.add_development_dependency(%q<sinatra>, [">= 1.0.0"])
|
337
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
336
338
|
s.add_development_dependency(%q<mongrel>, [">= 1.1.5"])
|
337
|
-
s.add_development_dependency(%q<
|
338
|
-
s.
|
339
|
+
s.add_development_dependency(%q<sinatra>, [">= 1.1"])
|
340
|
+
s.add_development_dependency(%q<rr>, [">= 0"])
|
341
|
+
s.add_development_dependency(%q<clipboard>, [">= 0"])
|
342
|
+
s.add_runtime_dependency(%q<rspec>, ["= 2.4"])
|
343
|
+
s.add_runtime_dependency(%q<inifile>, [">= 0.3"])
|
344
|
+
s.add_runtime_dependency(%q<i18n>, [">= 0"])
|
345
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 3.0.1"])
|
346
|
+
s.add_runtime_dependency(%q<deprecated>, [">= 0"])
|
339
347
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
340
348
|
s.add_development_dependency(%q<rake>, [">= 0"])
|
349
|
+
s.add_development_dependency(%q<bluecloth>, ["= 1.0.1"])
|
341
350
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
342
351
|
s.add_development_dependency(%q<mongrel>, [">= 1.1.5"])
|
343
352
|
s.add_development_dependency(%q<sinatra>, [">= 1.1"])
|
344
353
|
s.add_development_dependency(%q<rr>, [">= 0"])
|
354
|
+
s.add_development_dependency(%q<clipboard>, [">= 0"])
|
345
355
|
else
|
346
356
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
347
|
-
s.add_dependency(%q<jeweler>, ["
|
348
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
349
|
-
s.add_dependency(%q<yard>, [">= 0.6.3"])
|
357
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
350
358
|
s.add_dependency(%q<bluecloth>, ["= 1.0.1"])
|
351
|
-
s.add_dependency(%q<
|
352
|
-
s.add_dependency(%q<sinatra>, [">= 1.0.0"])
|
359
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
353
360
|
s.add_dependency(%q<mongrel>, [">= 1.1.5"])
|
354
|
-
s.add_dependency(%q<
|
355
|
-
s.add_dependency(%q<
|
361
|
+
s.add_dependency(%q<sinatra>, [">= 1.1"])
|
362
|
+
s.add_dependency(%q<rr>, [">= 0"])
|
363
|
+
s.add_dependency(%q<clipboard>, [">= 0"])
|
364
|
+
s.add_dependency(%q<rspec>, ["= 2.4"])
|
365
|
+
s.add_dependency(%q<inifile>, [">= 0.3"])
|
366
|
+
s.add_dependency(%q<i18n>, [">= 0"])
|
367
|
+
s.add_dependency(%q<activesupport>, [">= 3.0.1"])
|
368
|
+
s.add_dependency(%q<deprecated>, [">= 0"])
|
356
369
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
357
370
|
s.add_dependency(%q<rake>, [">= 0"])
|
371
|
+
s.add_dependency(%q<bluecloth>, ["= 1.0.1"])
|
358
372
|
s.add_dependency(%q<yard>, [">= 0"])
|
359
373
|
s.add_dependency(%q<mongrel>, [">= 1.1.5"])
|
360
374
|
s.add_dependency(%q<sinatra>, [">= 1.1"])
|
361
375
|
s.add_dependency(%q<rr>, [">= 0"])
|
376
|
+
s.add_dependency(%q<clipboard>, [">= 0"])
|
362
377
|
end
|
363
378
|
else
|
364
379
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
365
|
-
s.add_dependency(%q<jeweler>, ["
|
366
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
367
|
-
s.add_dependency(%q<yard>, [">= 0.6.3"])
|
380
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
368
381
|
s.add_dependency(%q<bluecloth>, ["= 1.0.1"])
|
369
|
-
s.add_dependency(%q<
|
370
|
-
s.add_dependency(%q<sinatra>, [">= 1.0.0"])
|
382
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
371
383
|
s.add_dependency(%q<mongrel>, [">= 1.1.5"])
|
372
|
-
s.add_dependency(%q<
|
373
|
-
s.add_dependency(%q<
|
384
|
+
s.add_dependency(%q<sinatra>, [">= 1.1"])
|
385
|
+
s.add_dependency(%q<rr>, [">= 0"])
|
386
|
+
s.add_dependency(%q<clipboard>, [">= 0"])
|
387
|
+
s.add_dependency(%q<rspec>, ["= 2.4"])
|
388
|
+
s.add_dependency(%q<inifile>, [">= 0.3"])
|
389
|
+
s.add_dependency(%q<i18n>, [">= 0"])
|
390
|
+
s.add_dependency(%q<activesupport>, [">= 3.0.1"])
|
391
|
+
s.add_dependency(%q<deprecated>, [">= 0"])
|
374
392
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
375
393
|
s.add_dependency(%q<rake>, [">= 0"])
|
394
|
+
s.add_dependency(%q<bluecloth>, ["= 1.0.1"])
|
376
395
|
s.add_dependency(%q<yard>, [">= 0"])
|
377
396
|
s.add_dependency(%q<mongrel>, [">= 1.1.5"])
|
378
397
|
s.add_dependency(%q<sinatra>, [">= 1.1"])
|
379
398
|
s.add_dependency(%q<rr>, [">= 0"])
|
399
|
+
s.add_dependency(%q<clipboard>, [">= 0"])
|
380
400
|
end
|
381
401
|
end
|
382
402
|
|
@@ -48,9 +48,9 @@ describe 'Browser' do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
describe '#quit
|
51
|
+
describe '#quit' do
|
52
52
|
before :each do
|
53
|
-
browser.quit
|
53
|
+
browser.quit
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'quits the browser' do
|
@@ -78,6 +78,7 @@ describe 'Browser' do
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
=begin
|
81
82
|
describe '#windows' do
|
82
83
|
before :all do
|
83
84
|
puts 'AFTER QUIT!'
|
@@ -106,6 +107,7 @@ describe 'Browser' do
|
|
106
107
|
# TODO: Window selectors
|
107
108
|
|
108
109
|
end
|
110
|
+
=end
|
109
111
|
|
110
112
|
describe '#version' do
|
111
113
|
it 'fetches the version number of the driver' do
|
@@ -153,7 +155,7 @@ describe 'Browser' do
|
|
153
155
|
end
|
154
156
|
|
155
157
|
it 'is not attached to a browser instance' do
|
156
|
-
browser.quit
|
158
|
+
browser.quit
|
157
159
|
browser.connected?.should be_false
|
158
160
|
end
|
159
161
|
end
|
@@ -195,85 +197,4 @@ describe 'Browser' do
|
|
195
197
|
end
|
196
198
|
end
|
197
199
|
|
198
|
-
describe '#preferences' do
|
199
|
-
it 'is a list of all preferences' do
|
200
|
-
browser.preferences.length.should > 10
|
201
|
-
end
|
202
|
-
|
203
|
-
it 'contains options' do
|
204
|
-
browser.preferences('Developer Tools', 'Proxy Auto Connect').should_not be_empty
|
205
|
-
end
|
206
|
-
|
207
|
-
it 'gets a value of an option' do
|
208
|
-
browser.preferences('Cache', 'SVG Cache Size').should be_numeric
|
209
|
-
browser.preferences('Cache', 'SVG Cache Size').should_not be_zero
|
210
|
-
end
|
211
|
-
|
212
|
-
it 'returns a top block of preferences' do
|
213
|
-
browser.preferences.each do |section, option, value|
|
214
|
-
section.should_not be_empty
|
215
|
-
option.should_not be_empty
|
216
|
-
end
|
217
|
-
end
|
218
|
-
|
219
|
-
it 'returns a sub block of preferences' do
|
220
|
-
browser.preferences('Cache').each do |option, value|
|
221
|
-
option.should_not be_empty
|
222
|
-
end
|
223
|
-
end
|
224
|
-
|
225
|
-
# I'm not sure if this works, we'll have to extend all returned values
|
226
|
-
# (see 'gets a value of an option') with a .default and .reset! property
|
227
|
-
describe '#default' do
|
228
|
-
it 'fetches default value of an option' do
|
229
|
-
browser.preferences('Cache', 'SVG Cache Size').default.should > 2000
|
230
|
-
end
|
231
|
-
end
|
232
|
-
|
233
|
-
describe '#reset!' do
|
234
|
-
it 'resets an option to default' do
|
235
|
-
browser.preferences('Cache', 'SVG Cache Size').reset!
|
236
|
-
browser.preferences('Cache', 'SVG Cache Size').should == browser.preferences('Cache', 'SVG Cache Size').default
|
237
|
-
end
|
238
|
-
end
|
239
|
-
|
240
|
-
end
|
241
|
-
|
242
|
-
describe '#preferences=' do
|
243
|
-
before :all do
|
244
|
-
# Caches options that we will tamper with.
|
245
|
-
@preferences = browser.preferences
|
246
|
-
end
|
247
|
-
|
248
|
-
it 'sets an option' do
|
249
|
-
browser.preferences('Cache', 'Application Cache Quota').value = 0
|
250
|
-
browser.preferences('Cache', 'Application Cache Quota').should == 0
|
251
|
-
end
|
252
|
-
|
253
|
-
it 'sets options by a given block' do
|
254
|
-
preferences = {
|
255
|
-
'Cache' => {
|
256
|
-
'Always Check Never-Expiring GET queries' => false,
|
257
|
-
'Application Cache Quota' => -5000,
|
258
|
-
'SVG Cache Size' => 2000
|
259
|
-
}
|
260
|
-
}
|
261
|
-
|
262
|
-
browser.preferences = preferences
|
263
|
-
|
264
|
-
browser.preferences('Cache', 'Always Check Never-Expiring GET queries').should_not be_true
|
265
|
-
browser.preferences('Cache', 'Application Cache Quota').should == -5000
|
266
|
-
browser.preferences('Cache', 'SVG Cache Size').should == 2000
|
267
|
-
|
268
|
-
# Making sure setting block didn't affect any other blocks.
|
269
|
-
browser.preferences('Colors', 'Background').should == @preferences['Colors']['Background']
|
270
|
-
browser.preferences('Fonts', 'Dialog').should == @preferences['Fonts']['Dialog']
|
271
|
-
end
|
272
|
-
|
273
|
-
after :all do
|
274
|
-
# Resets options that we've tampered with.
|
275
|
-
browser.preferences = @preferences
|
276
|
-
end
|
277
|
-
end
|
278
|
-
|
279
200
|
end
|