operawatir 0.4.1.pre2-jruby → 0.4.1.pre3-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +233 -0
- data/VERSION +1 -1
- data/bin/desktopwatir +36 -16
- data/bin/operawatir +27 -14
- data/lib/operadriver/webdriver-opera.jar +0 -0
- data/lib/operawatir/compat/browser.rb +0 -5
- data/lib/operawatir/compat/collection.rb +2 -0
- data/lib/operawatir/compat/element.rb +3 -0
- data/lib/operawatir/compat/element_finders.rb +4 -0
- data/lib/operawatir/compat/selector.rb +7 -0
- data/lib/operawatir/compat/window.rb +8 -0
- data/lib/operawatir/compat.rb +3 -2
- data/lib/operawatir/desktop_browser.rb +18 -6
- data/lib/operawatir/desktop_helper.rb +2 -0
- data/lib/operawatir/quickwidgets/quick_addressfield.rb +12 -0
- data/lib/operawatir/quickwidgets/quick_checkbox.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_editfield.rb +7 -4
- data/lib/operawatir/quickwidgets/quick_searchfield.rb +2 -0
- data/lib/operawatir/quickwidgets/quick_widget.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_window.rb +6 -2
- data/lib/operawatir/screenshot.rb +46 -0
- data/lib/operawatir/window.rb +19 -16
- data/lib/operawatir.rb +1 -0
- data/operawatir.gemspec +23 -2
- data/spec/operawatir/core/screenshot_spec.rb +76 -0
- data/spec/operawatir/core/window_spec.rb +1 -12
- data/spec/operawatir/desktop/desktopbrowser_spec.rb +300 -0
- data/spec/operawatir/desktop/quickaddressfield_spec.rb +47 -0
- data/spec/operawatir/desktop/quickbutton_spec.rb +34 -0
- data/spec/operawatir/desktop/quickwidget_spec.rb +60 -0
- data/spec/operawatir/desktop/quickwindow_spec.rb +97 -0
- data/spec/operawatir/desktop/shared/shared.rb +48 -0
- data/spec/operawatir/matchers.rb +68 -0
- data/spec/operawatir/watirspec_desktophelper.rb +14 -0
- data/spec/operawatir/watirspec_helper.rb +1 -1
- data/spec/watir2/element_spec.rb +90 -21
- metadata +24 -3
@@ -0,0 +1,97 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require File.expand_path('../../watirspec_desktophelper', __FILE__)
|
3
|
+
|
4
|
+
describe 'QuickWindow' do
|
5
|
+
let(:documentwindow) { browser.quick_window(:name, "Document Window") }
|
6
|
+
let(:browserwindow) { browser.quick_window(:name, "Browser Window") }
|
7
|
+
let(:nonexisting_window) { browser.quick_window(:name, "Doc Window") }
|
8
|
+
|
9
|
+
subject { documentwindow }
|
10
|
+
|
11
|
+
describe '#exist?' do
|
12
|
+
it 'returns true for existing window' do
|
13
|
+
browserwindow.should exist
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'returns false for non-existing window' do
|
17
|
+
nonexisting_window.should_not exist
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#type' do
|
22
|
+
its(:type) { should == :normal }
|
23
|
+
|
24
|
+
it 'returns Dialog for Dialog' do
|
25
|
+
browser.open_dialog_with_key_press("New Preferences Dialog", "F12", :ctrl).should > 0
|
26
|
+
browser.quick_window(:name, "New Preferences Dialog").type == "Dialog"
|
27
|
+
browser.close_dialog("New Preferences Dialog")
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'throws exception if unknown window' do
|
31
|
+
expect { nonexisting_window.type }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#name' do
|
36
|
+
its(:name) { should_not be_empty }
|
37
|
+
its(:name) { should be_kind_of String }
|
38
|
+
|
39
|
+
it 'throws exception if unknown window' do
|
40
|
+
expect { nonexisting_window.name }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#title' do
|
45
|
+
its(:title) { should_not be_empty }
|
46
|
+
its(:title) { should be_kind_of String }
|
47
|
+
|
48
|
+
it 'throws exception if unknown window' do
|
49
|
+
expect { nonexisting_window.title }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#to_s' do
|
55
|
+
it 'returns string' do
|
56
|
+
documentwindow.to_s.should_not be_empty
|
57
|
+
end
|
58
|
+
it 'returns a string' do
|
59
|
+
documentwindow.to_s.should be_kind_of String
|
60
|
+
end
|
61
|
+
it 'throws exception if unknown window' do
|
62
|
+
expect { nonexisting_window.to_s }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
describe '#on_screen?' do
|
68
|
+
it 'throws exception if unknown window' do
|
69
|
+
expect { nonexisting_window.on_screen? }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe '#window_id' do
|
74
|
+
its(:window_id) { should be_integer }
|
75
|
+
its(:window_id) { should_not be_zero }
|
76
|
+
|
77
|
+
it 'throws exception if unknown window' do
|
78
|
+
expect { nonexisting_window.window_id }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe '#window_info_string' do
|
83
|
+
its(:window_info_string) { should be_kind_of String }
|
84
|
+
its(:window_info_string) { should_not be_empty }
|
85
|
+
|
86
|
+
it 'throws exception if unknown window' do
|
87
|
+
expect { nonexisting_window.window_info_string }.to raise_error OperaWatir::Exceptions::UnknownObjectException
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
its(:driver) { should be_instance_of Java::ComOperaCoreSystems::OperaDesktopDriver }
|
92
|
+
|
93
|
+
#private
|
94
|
+
# def parent_widget
|
95
|
+
# def element(refresh = false)
|
96
|
+
# def find
|
97
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.expand_path('../../../watirspec_desktophelper', __FILE__)
|
2
|
+
|
3
|
+
shared_examples_for 'an editfield' do
|
4
|
+
describe '#focus_with_click' do
|
5
|
+
it 'focuses editfield' do
|
6
|
+
widget.focus_with_click
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
#describe '#type_text' do
|
11
|
+
#end
|
12
|
+
#describe '#clear' do
|
13
|
+
#end
|
14
|
+
#describe '#key_press' do
|
15
|
+
#end
|
16
|
+
end
|
17
|
+
|
18
|
+
shared_examples_for 'a widget' do
|
19
|
+
describe '#exist?' do
|
20
|
+
it 'returns true for existing widget' do
|
21
|
+
widget.should exist
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
its(:text) { should be_kind_of String } #be_a
|
26
|
+
its(:name) { should be_kind_of String }
|
27
|
+
its(:row_info_string) { should be_kind_of String }
|
28
|
+
its(:widget_info_string) { should be_kind_of String }
|
29
|
+
its(:parent_name) { should be_kind_of String } # nil?
|
30
|
+
its(:value) { should be_integer }
|
31
|
+
its(:to_s) { should be_kind_of String }
|
32
|
+
its(:driver) { should be_instance_of Java::ComOperaCoreSystems::OperaDesktopDriver }
|
33
|
+
#its(:type) { should }
|
34
|
+
|
35
|
+
describe '#enabled?' do
|
36
|
+
it 'should return boolean' do
|
37
|
+
[true, false].should include widget.enabled?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '#visible?' do
|
42
|
+
it 'should return boolean' do
|
43
|
+
[true, false].should include widget.enabled?
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
@@ -0,0 +1,68 @@
|
|
1
|
+
RSpec::Matchers.define :close_window do
|
2
|
+
match do |actual|
|
3
|
+
actual > 0
|
4
|
+
end
|
5
|
+
|
6
|
+
failure_message_for_should do |window_id|
|
7
|
+
"expected close_window to close window, but window_id returned is not valid: #{window_id}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
RSpec::Matchers.define :close_dialog do |expected|
|
12
|
+
match do |window_id|
|
13
|
+
window_id > 0
|
14
|
+
end
|
15
|
+
|
16
|
+
failure_message_for_should do |window_id|
|
17
|
+
"expected close_dialog to close dialog, but window_id returned is not valid: #{window_id}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
RSpec::Matchers.define :open_window do
|
22
|
+
match do |actual|
|
23
|
+
actual > 0
|
24
|
+
end
|
25
|
+
|
26
|
+
failure_message_for_should do |window_id|
|
27
|
+
"expected open_window to open window, but window_id returned is not valid: #{window_id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
RSpec::Matchers.define :open_dialog do
|
32
|
+
match do |actual|
|
33
|
+
actual > 0
|
34
|
+
end
|
35
|
+
|
36
|
+
failure_message_for_should do |window_id|
|
37
|
+
"expected open_dialog to close dialog, but window_id returned is not valid: #{window_id}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
RSpec::Matchers.define :load_window do
|
43
|
+
match do |actual|
|
44
|
+
actual > 0
|
45
|
+
end
|
46
|
+
|
47
|
+
failure_message_for_should do |window_id|
|
48
|
+
"expected load... to load in window, but window_id returned is not valid: #{window_id}"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
RSpec::Matchers.define :load_page do
|
53
|
+
match do |actual|
|
54
|
+
actual > 0
|
55
|
+
end
|
56
|
+
|
57
|
+
failure_message_for_should do |window_id|
|
58
|
+
"expected load_page to load page, but window_id returned is not valid: #{window_id}"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
=begin
|
63
|
+
RSpec::Matchers.define :load do |expected|
|
64
|
+
match do |actual|
|
65
|
+
expected == actual
|
66
|
+
end
|
67
|
+
end
|
68
|
+
=end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__)
|
3
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
4
|
+
|
5
|
+
require 'watirspec_helper'
|
6
|
+
#require 'operawatir/desktop_helper'
|
7
|
+
|
8
|
+
module WatirSpec
|
9
|
+
module Helpers
|
10
|
+
def browser
|
11
|
+
OperaWatir::DesktopHelper.browser
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/spec/watir2/element_spec.rb
CHANGED
@@ -6,34 +6,101 @@ describe "Element" do
|
|
6
6
|
before :each do
|
7
7
|
browser.goto(WatirSpec.files + "/forms_with_input_elements.html")
|
8
8
|
end
|
9
|
-
|
9
|
+
=begin
|
10
10
|
describe ".new" do
|
11
11
|
it "finds elements matching the conditions when given a hash of :how => 'what' arguments" do
|
12
12
|
browser.checkbox(:name => 'new_user_interests', :title => 'Dancing is fun!').value.should == 'dancing'
|
13
|
-
|
13
|
+
browser.text_field(:class_name => 'name', :index => 1).id.should == 'new_user_last_name'
|
14
14
|
end
|
15
15
|
|
16
16
|
it "raises UnknownObjectException with a sane error message when given a hash of :how => 'what' arguments (non-existing object)" do
|
17
|
-
|
18
|
-
|
17
|
+
lambda { browser.text_field(:index => 100, :name => "foo").id }.should raise_error(UnknownObjectException)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "raises ArgumentError if given the wrong number of arguments" do
|
21
|
+
container = mock("container").as_null_object
|
22
|
+
lambda { Element.new(container, 1,2,3,4) }.should raise_error(ArgumentError)
|
23
|
+
lambda { Element.new(container, "foo") }.should raise_error(ArgumentError)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#== and #eql?" do
|
28
|
+
before { browser.goto(WatirSpec.files + "/definition_lists.html") }
|
29
|
+
|
30
|
+
it "returns true if the two elements point to the same DOM element" do
|
31
|
+
a = browser.dl(:id => "experience-list")
|
32
|
+
b = browser.dl
|
33
|
+
|
34
|
+
a.should == b
|
35
|
+
a.should eql(b)
|
19
36
|
end
|
20
37
|
|
21
|
-
|
22
|
-
|
23
|
-
|
38
|
+
it "returns false if the two elements are not the same" do
|
39
|
+
a = browser.dls[0]
|
40
|
+
b = browser.dls[1]
|
41
|
+
|
42
|
+
a.should_not == b
|
43
|
+
a.should_not eql(b)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "returns false if the other object is not an Element" do
|
47
|
+
browser.dl.should_not == 1
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "data-* attributes" do
|
52
|
+
before { browser.goto("file://" + File.expand_path("html/data_attributes.html", File.dirname(__FILE__))) }
|
53
|
+
|
54
|
+
bug "http://github.com/jarib/celerity/issues#issue/27", :celerity do
|
55
|
+
it "finds elements by a data-* attribute" do
|
56
|
+
browser.p(:data_type => "ruby-library").should exist
|
57
|
+
end
|
24
58
|
|
25
|
-
|
26
|
-
|
59
|
+
it "returns the value of a data-* attribute" do
|
60
|
+
browser.p.data_type.should == "ruby-library"
|
27
61
|
end
|
28
62
|
end
|
29
63
|
end
|
64
|
+
=end
|
65
|
+
describe "finding with unknown tag name" do
|
66
|
+
it "finds an element by xpath" do
|
67
|
+
browser.element(:xpath => "//*[@for='new_user_first_name']").should exist
|
68
|
+
end
|
69
|
+
|
70
|
+
it "finds an element by arbitrary attribute" do
|
71
|
+
browser.element(:id => "new_user").should exist
|
72
|
+
end
|
73
|
+
=begin
|
74
|
+
it "finds several elements by xpath" do
|
75
|
+
browser.elements(:xpath => "//a").length.should == 1
|
76
|
+
end
|
77
|
+
|
78
|
+
it "finds finds several elements by arbitrary attribute" do
|
79
|
+
browser.elements(:name => /^new_user/).length.should == 30
|
80
|
+
end
|
81
|
+
=end
|
82
|
+
end
|
83
|
+
=begin
|
84
|
+
describe "#to_subtype" do
|
85
|
+
it "returns a more precise subtype of Element (input element)" do
|
86
|
+
el = browser.element(:xpath => "//input[@type='radio']").to_subtype
|
87
|
+
el.should be_kind_of(Watir::Radio)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "returns a more precise subtype of Element" do
|
91
|
+
el = browser.element(:xpath => "//*[@id='messages']").to_subtype
|
92
|
+
el.should be_kind_of(Watir::Div)
|
93
|
+
end
|
94
|
+
end
|
30
95
|
|
31
96
|
describe "#focus" do
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
97
|
+
bug "http://code.google.com/p/selenium/issues/detail?id=157", [:webdriver, :firefox] do
|
98
|
+
it "fires the onfocus event for the given element" do
|
99
|
+
tf = browser.text_field(:id, "new_user_occupation")
|
100
|
+
tf.value.should == "Developer"
|
101
|
+
tf.focus
|
102
|
+
browser.div(:id, "onfocus_test").text.should == "changed by onfocus event"
|
103
|
+
end
|
37
104
|
end
|
38
105
|
end
|
39
106
|
|
@@ -46,9 +113,9 @@ describe "Element" do
|
|
46
113
|
end
|
47
114
|
|
48
115
|
describe "#parent" do
|
49
|
-
bug "
|
116
|
+
bug "http://github.com/jarib/celerity/issues#issue/28", :celerity do
|
50
117
|
it "gets the parent of this element" do
|
51
|
-
browser.text_field(:id, "new_user_email").parent.should be_instance_of(
|
118
|
+
browser.text_field(:id, "new_user_email").parent.should be_instance_of(FieldSet)
|
52
119
|
end
|
53
120
|
end
|
54
121
|
end
|
@@ -62,10 +129,8 @@ describe "Element" do
|
|
62
129
|
browser.text_field(:id, "new_user_interests_dolls").should_not be_visible
|
63
130
|
end
|
64
131
|
|
65
|
-
|
66
|
-
|
67
|
-
browser.div(:id, 'changed_language').should_not be_visible
|
68
|
-
end
|
132
|
+
it "returns false if the element has style='display: none;'" do
|
133
|
+
browser.div(:id, 'changed_language').should_not be_visible
|
69
134
|
end
|
70
135
|
|
71
136
|
it "returns false if the element has style='visibility: hidden;" do
|
@@ -81,6 +146,10 @@ describe "Element" do
|
|
81
146
|
it "doesn't raise when called on nested elements" do
|
82
147
|
browser.div(:id, 'no_such_div').link(:id, 'no_such_id').should_not exist
|
83
148
|
end
|
149
|
+
|
150
|
+
it "raises ArgumentError error if selector hash with :xpath has multiple entries" do
|
151
|
+
lambda { browser.div(:xpath => "//div", :class => "foo").exists? }.should raise_error(ArgumentError)
|
152
|
+
end
|
84
153
|
end
|
85
|
-
|
154
|
+
=end
|
86
155
|
end
|
metadata
CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
|
|
6
6
|
- 0
|
7
7
|
- 4
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.4.1.
|
9
|
+
- pre3
|
10
|
+
version: 0.4.1.pre3
|
11
11
|
platform: jruby
|
12
12
|
authors:
|
13
13
|
- Andreas Tolf Tolfsen
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2011-03-
|
21
|
+
date: 2011-03-14 00:00:00 +01:00
|
22
22
|
default_executable:
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
@@ -267,6 +267,7 @@ files:
|
|
267
267
|
- .gitmodules
|
268
268
|
- .yardopts
|
269
269
|
- AUTHORS
|
270
|
+
- CHANGES
|
270
271
|
- Gemfile
|
271
272
|
- LICENSE
|
272
273
|
- README.md
|
@@ -289,6 +290,7 @@ files:
|
|
289
290
|
- lib/operawatir/compat/collection.rb
|
290
291
|
- lib/operawatir/compat/element.rb
|
291
292
|
- lib/operawatir/compat/element_finders.rb
|
293
|
+
- lib/operawatir/compat/selector.rb
|
292
294
|
- lib/operawatir/compat/window.rb
|
293
295
|
- lib/operawatir/desktop-waiter.rb
|
294
296
|
- lib/operawatir/desktop_browser.rb
|
@@ -320,6 +322,7 @@ files:
|
|
320
322
|
- lib/operawatir/quickwidgets/quick_treeview.rb
|
321
323
|
- lib/operawatir/quickwidgets/quick_widget.rb
|
322
324
|
- lib/operawatir/quickwidgets/quick_window.rb
|
325
|
+
- lib/operawatir/screenshot.rb
|
323
326
|
- lib/operawatir/selector.rb
|
324
327
|
- lib/operawatir/spatnav.rb
|
325
328
|
- lib/operawatir/version.rb
|
@@ -341,8 +344,15 @@ files:
|
|
341
344
|
- spec/operawatir/core/browser_spec.rb
|
342
345
|
- spec/operawatir/core/element_spec.rb
|
343
346
|
- spec/operawatir/core/preferences_spec.rb
|
347
|
+
- spec/operawatir/core/screenshot_spec.rb
|
344
348
|
- spec/operawatir/core/spatnav_spec.rb
|
345
349
|
- spec/operawatir/core/window_spec.rb
|
350
|
+
- spec/operawatir/desktop/desktopbrowser_spec.rb
|
351
|
+
- spec/operawatir/desktop/quickaddressfield_spec.rb
|
352
|
+
- spec/operawatir/desktop/quickbutton_spec.rb
|
353
|
+
- spec/operawatir/desktop/quickwidget_spec.rb
|
354
|
+
- spec/operawatir/desktop/quickwindow_spec.rb
|
355
|
+
- spec/operawatir/desktop/shared/shared.rb
|
346
356
|
- spec/operawatir/fixtures/boxes.html
|
347
357
|
- spec/operawatir/fixtures/grid.html
|
348
358
|
- spec/operawatir/fixtures/input_fields_value.html
|
@@ -350,8 +360,10 @@ files:
|
|
350
360
|
- spec/operawatir/fixtures/paragraphs.html
|
351
361
|
- spec/operawatir/fixtures/two_input_fields.html
|
352
362
|
- spec/operawatir/guards.rb
|
363
|
+
- spec/operawatir/matchers.rb
|
353
364
|
- spec/operawatir/server.rb
|
354
365
|
- spec/operawatir/watirspec.rake
|
366
|
+
- spec/operawatir/watirspec_desktophelper.rb
|
355
367
|
- spec/operawatir/watirspec_helper.rb
|
356
368
|
- spec/watir2/area_spec.rb
|
357
369
|
- spec/watir2/areas_spec.rb
|
@@ -515,10 +527,19 @@ test_files:
|
|
515
527
|
- spec/operawatir/core/browser_spec.rb
|
516
528
|
- spec/operawatir/core/element_spec.rb
|
517
529
|
- spec/operawatir/core/preferences_spec.rb
|
530
|
+
- spec/operawatir/core/screenshot_spec.rb
|
518
531
|
- spec/operawatir/core/spatnav_spec.rb
|
519
532
|
- spec/operawatir/core/window_spec.rb
|
533
|
+
- spec/operawatir/desktop/desktopbrowser_spec.rb
|
534
|
+
- spec/operawatir/desktop/quickaddressfield_spec.rb
|
535
|
+
- spec/operawatir/desktop/quickbutton_spec.rb
|
536
|
+
- spec/operawatir/desktop/quickwidget_spec.rb
|
537
|
+
- spec/operawatir/desktop/quickwindow_spec.rb
|
538
|
+
- spec/operawatir/desktop/shared/shared.rb
|
520
539
|
- spec/operawatir/guards.rb
|
540
|
+
- spec/operawatir/matchers.rb
|
521
541
|
- spec/operawatir/server.rb
|
542
|
+
- spec/operawatir/watirspec_desktophelper.rb
|
522
543
|
- spec/operawatir/watirspec_helper.rb
|
523
544
|
- spec/watir2/area_spec.rb
|
524
545
|
- spec/watir2/areas_spec.rb
|