watir-webdriver 0.0.1.dev5 → 0.0.1.dev6
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/Rakefile +13 -19
- data/VERSION +1 -1
- data/lib/watir-webdriver.rb +3 -1
- data/lib/watir-webdriver/base_element.rb +33 -27
- data/lib/watir-webdriver/browser.rb +2 -6
- data/lib/watir-webdriver/elements/font.rb +12 -0
- data/lib/watir-webdriver/elements/generated.rb +1027 -622
- data/lib/watir-webdriver/elements/select_list.rb +3 -3
- data/lib/watir-webdriver/locators/element_locator.rb +2 -2
- data/lib/watir-webdriver/xpath_support.rb +2 -2
- data/support/html5/html5.idl +942 -483
- data/support/html5/old/html5.idl +962 -0
- data/support/html5/{html5_extras.idl → old/html5_extras.idl} +0 -2
- data/support/html5/watir_visitor.rb +23 -19
- metadata +74 -100
- data/spec/watirspec/area_spec.rb +0 -78
- data/spec/watirspec/areas_spec.rb +0 -31
- data/spec/watirspec/browser_spec.rb +0 -274
- data/spec/watirspec/button_spec.rb +0 -242
- data/spec/watirspec/buttons_spec.rb +0 -48
- data/spec/watirspec/checkbox_spec.rb +0 -272
- data/spec/watirspec/checkboxes_spec.rb +0 -32
- data/spec/watirspec/dd_spec.rb +0 -123
- data/spec/watirspec/dds_spec.rb +0 -31
- data/spec/watirspec/div_spec.rb +0 -211
- data/spec/watirspec/divs_spec.rb +0 -31
- data/spec/watirspec/dl_spec.rb +0 -123
- data/spec/watirspec/dls_spec.rb +0 -32
- data/spec/watirspec/dt_spec.rb +0 -123
- data/spec/watirspec/dts_spec.rb +0 -31
- data/spec/watirspec/element_spec.rb +0 -89
- data/spec/watirspec/em_spec.rb +0 -97
- data/spec/watirspec/ems_spec.rb +0 -32
- data/spec/watirspec/filefield_spec.rb +0 -119
- data/spec/watirspec/filefields_spec.rb +0 -32
- data/spec/watirspec/form_spec.rb +0 -63
- data/spec/watirspec/forms_spec.rb +0 -33
- data/spec/watirspec/frame_spec.rb +0 -129
- data/spec/watirspec/frames_spec.rb +0 -62
- data/spec/watirspec/hidden_spec.rb +0 -102
- data/spec/watirspec/hiddens_spec.rb +0 -32
- data/spec/watirspec/hn_spec.rb +0 -93
- data/spec/watirspec/hns_spec.rb +0 -38
- data/spec/watirspec/image_spec.rb +0 -207
- data/spec/watirspec/images_spec.rb +0 -31
- data/spec/watirspec/label_spec.rb +0 -75
- data/spec/watirspec/labels_spec.rb +0 -31
- data/spec/watirspec/li_spec.rb +0 -112
- data/spec/watirspec/lib/guards.rb +0 -59
- data/spec/watirspec/lib/server.rb +0 -127
- data/spec/watirspec/lib/spec_helper.rb +0 -79
- data/spec/watirspec/lib/watirspec.rb +0 -72
- data/spec/watirspec/link_spec.rb +0 -168
- data/spec/watirspec/links_spec.rb +0 -35
- data/spec/watirspec/lis_spec.rb +0 -31
- data/spec/watirspec/map_spec.rb +0 -76
- data/spec/watirspec/maps_spec.rb +0 -32
- data/spec/watirspec/meta_spec.rb +0 -22
- data/spec/watirspec/metas_spec.rb +0 -30
- data/spec/watirspec/ol_spec.rb +0 -78
- data/spec/watirspec/ols_spec.rb +0 -31
- data/spec/watirspec/option_spec.rb +0 -173
- data/spec/watirspec/p_spec.rb +0 -128
- data/spec/watirspec/pre_spec.rb +0 -112
- data/spec/watirspec/pres_spec.rb +0 -31
- data/spec/watirspec/ps_spec.rb +0 -31
- data/spec/watirspec/radio_spec.rb +0 -255
- data/spec/watirspec/radios_spec.rb +0 -32
- data/spec/watirspec/select_list_spec.rb +0 -318
- data/spec/watirspec/select_lists_spec.rb +0 -35
- data/spec/watirspec/span_spec.rb +0 -142
- data/spec/watirspec/spans_spec.rb +0 -31
- data/spec/watirspec/spec_helper.rb +0 -17
- data/spec/watirspec/strong_spec.rb +0 -89
- data/spec/watirspec/strongs_spec.rb +0 -32
- data/spec/watirspec/table_bodies_spec.rb +0 -45
- data/spec/watirspec/table_body_spec.rb +0 -98
- data/spec/watirspec/table_cell_spec.rb +0 -68
- data/spec/watirspec/table_cells_spec.rb +0 -47
- data/spec/watirspec/table_footer_spec.rb +0 -85
- data/spec/watirspec/table_footers_spec.rb +0 -47
- data/spec/watirspec/table_header_spec.rb +0 -85
- data/spec/watirspec/table_headers_spec.rb +0 -45
- data/spec/watirspec/table_row_spec.rb +0 -87
- data/spec/watirspec/table_rows_spec.rb +0 -50
- data/spec/watirspec/table_spec.rb +0 -160
- data/spec/watirspec/tables_spec.rb +0 -33
- data/spec/watirspec/text_field_spec.rb +0 -276
- data/spec/watirspec/text_fields_spec.rb +0 -35
- data/spec/watirspec/ul_spec.rb +0 -76
- data/spec/watirspec/uls_spec.rb +0 -33
- data/support/html5/idl_extractor.rb +0 -73
@@ -1,13 +1,15 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "rubygems"
|
3
3
|
require "webidl"
|
4
|
-
require "ruby-debug"
|
5
4
|
require "pp"
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
require "active_support"
|
7
|
+
ActiveSupport::Inflector.inflections do |inflect|
|
8
|
+
inflect.irregular 'body', 'bodys'
|
9
|
+
inflect.irregular 'tbody', 'tbodys'
|
10
|
+
inflect.irregular 'canvas', 'canvases'
|
11
|
+
inflect.irregular 'ins', 'inses' # made up.
|
12
|
+
end
|
11
13
|
|
12
14
|
class WatirVisitor < WebIDL::RubySexpVisitor
|
13
15
|
|
@@ -34,6 +36,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
|
|
34
36
|
name = interface.name
|
35
37
|
parent = interface.inherits.first
|
36
38
|
|
39
|
+
$stderr.puts name
|
37
40
|
return unless name =~ /^HTML/
|
38
41
|
|
39
42
|
if name == "HTMLElement"
|
@@ -41,7 +44,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
|
|
41
44
|
# elsif !(parent && parent.name =~ /^HTMLElement/)
|
42
45
|
# return
|
43
46
|
else
|
44
|
-
parent = parent.name
|
47
|
+
parent = parent ? parent.name : 'HTMLElement'
|
45
48
|
end
|
46
49
|
|
47
50
|
element_class interface.name,
|
@@ -62,16 +65,21 @@ class WatirVisitor < WebIDL::RubySexpVisitor
|
|
62
65
|
|
63
66
|
def tag_name_from(interface)
|
64
67
|
_, tag_name = interface.extended_attributes.find { |k,v| k == "TagName" }
|
65
|
-
tag_name
|
68
|
+
tag_name
|
66
69
|
end
|
67
70
|
|
68
71
|
def element_class(name, tag_name, attributes, parent)
|
69
|
-
[:class, classify(name), [:const, classify(parent)]
|
70
|
-
|
71
|
-
|
72
|
-
[:scope, [:block] + [
|
73
|
-
[:scope, [:block] + [
|
74
|
-
|
72
|
+
sexp = [:class, classify(name), [:const, classify(parent)]]
|
73
|
+
|
74
|
+
if tag_name
|
75
|
+
sexp << [:scope, [:block] + [identifier_call(tag_name)]]
|
76
|
+
sexp << [:scope, [:block] + [container_call(tag_name)]]
|
77
|
+
sexp << [:scope, [:block] + [collection_call(tag_name)]]
|
78
|
+
end
|
79
|
+
|
80
|
+
sexp << [:scope, [:block] + [attributes_call(attributes)]]
|
81
|
+
|
82
|
+
sexp
|
75
83
|
end
|
76
84
|
|
77
85
|
def classify(name)
|
@@ -110,7 +118,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
|
|
110
118
|
end
|
111
119
|
|
112
120
|
def collection_call(name)
|
113
|
-
call :collection_method, [[:lit,
|
121
|
+
call :collection_method, [[:lit, paramify(name).pluralize.to_sym]]
|
114
122
|
end
|
115
123
|
|
116
124
|
def literal_hash(hash)
|
@@ -125,17 +133,13 @@ class WatirVisitor < WebIDL::RubySexpVisitor
|
|
125
133
|
[:call, nil, name.to_sym, [:arglist] + args]
|
126
134
|
end
|
127
135
|
|
128
|
-
def pluralize(name)
|
129
|
-
name[/s$/] ? name : name + 's'
|
130
|
-
end
|
131
|
-
|
132
136
|
def ruby_type_for(type)
|
133
137
|
case type.name.to_s
|
134
138
|
when 'DOMString', 'any'
|
135
139
|
:string
|
136
140
|
when 'unsigned long', 'long', 'integer', 'short', 'unsigned short'
|
137
141
|
:int
|
138
|
-
when 'float'
|
142
|
+
when 'float', 'double'
|
139
143
|
:float
|
140
144
|
when 'Function'
|
141
145
|
:function
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- dev6
|
10
|
+
version: 0.0.1.dev6
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Jari Bakken
|
@@ -9,49 +15,87 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-05-11 00:00:00 +02:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: selenium-webdriver
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
25
|
requirements:
|
21
26
|
- - ">="
|
22
27
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 0
|
31
|
+
- 18
|
32
|
+
version: 0.0.18
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: rspec
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
39
|
requirements:
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 0
|
33
44
|
version: "0"
|
34
|
-
|
45
|
+
type: :development
|
46
|
+
version_requirements: *id002
|
35
47
|
- !ruby/object:Gem::Dependency
|
36
48
|
name: webidl
|
37
|
-
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
prerelease: false
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
51
|
requirements:
|
41
52
|
- - ">="
|
42
53
|
- !ruby/object:Gem::Version
|
54
|
+
segments:
|
55
|
+
- 0
|
43
56
|
version: "0"
|
44
|
-
|
57
|
+
type: :development
|
58
|
+
version_requirements: *id003
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: sinatra
|
61
|
+
prerelease: false
|
62
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
segments:
|
67
|
+
- 1
|
68
|
+
- 0
|
69
|
+
version: "1.0"
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id004
|
45
72
|
- !ruby/object:Gem::Dependency
|
46
73
|
name: sinatra
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
segments:
|
80
|
+
- 1
|
81
|
+
- 0
|
82
|
+
version: "1.0"
|
47
83
|
type: :development
|
48
|
-
|
49
|
-
|
84
|
+
version_requirements: *id005
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: activesupport
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
50
89
|
requirements:
|
51
90
|
- - ">="
|
52
91
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
92
|
+
segments:
|
93
|
+
- 2
|
94
|
+
- 3
|
95
|
+
- 5
|
96
|
+
version: 2.3.5
|
97
|
+
type: :development
|
98
|
+
version_requirements: *id006
|
55
99
|
description: WebDriver-backed Watir
|
56
100
|
email: jari.bakken@gmail.com
|
57
101
|
executables: []
|
@@ -61,6 +105,7 @@ extensions: []
|
|
61
105
|
extra_rdoc_files:
|
62
106
|
- LICENSE
|
63
107
|
- README.rdoc
|
108
|
+
- TODO
|
64
109
|
files:
|
65
110
|
- .document
|
66
111
|
- .gitignore
|
@@ -83,6 +128,7 @@ files:
|
|
83
128
|
- lib/watir-webdriver/elements/button.rb
|
84
129
|
- lib/watir-webdriver/elements/checkbox.rb
|
85
130
|
- lib/watir-webdriver/elements/file_field.rb
|
131
|
+
- lib/watir-webdriver/elements/font.rb
|
86
132
|
- lib/watir-webdriver/elements/form.rb
|
87
133
|
- lib/watir-webdriver/elements/generated.rb
|
88
134
|
- lib/watir-webdriver/elements/headings.rb
|
@@ -104,8 +150,8 @@ files:
|
|
104
150
|
- lib/watir-webdriver/xpath_support.rb
|
105
151
|
- spec/spec_helper.rb
|
106
152
|
- support/html5/html5.idl
|
107
|
-
- support/html5/
|
108
|
-
- support/html5/
|
153
|
+
- support/html5/old/html5.idl
|
154
|
+
- support/html5/old/html5_extras.idl
|
109
155
|
- support/html5/watir_visitor.rb
|
110
156
|
- support/yard_handlers.rb
|
111
157
|
has_rdoc: true
|
@@ -121,96 +167,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
167
|
requirements:
|
122
168
|
- - ">="
|
123
169
|
- !ruby/object:Gem::Version
|
170
|
+
segments:
|
171
|
+
- 0
|
124
172
|
version: "0"
|
125
|
-
version:
|
126
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
174
|
requirements:
|
128
175
|
- - ">"
|
129
176
|
- !ruby/object:Gem::Version
|
177
|
+
segments:
|
178
|
+
- 1
|
179
|
+
- 3
|
180
|
+
- 1
|
130
181
|
version: 1.3.1
|
131
|
-
version:
|
132
182
|
requirements: []
|
133
183
|
|
134
184
|
rubyforge_project:
|
135
|
-
rubygems_version: 1.3.
|
185
|
+
rubygems_version: 1.3.6
|
136
186
|
signing_key:
|
137
187
|
specification_version: 3
|
138
188
|
summary: Watir on WebDriver
|
139
189
|
test_files:
|
140
190
|
- spec/spec_helper.rb
|
141
|
-
- spec/watirspec/area_spec.rb
|
142
|
-
- spec/watirspec/areas_spec.rb
|
143
|
-
- spec/watirspec/browser_spec.rb
|
144
|
-
- spec/watirspec/button_spec.rb
|
145
|
-
- spec/watirspec/buttons_spec.rb
|
146
|
-
- spec/watirspec/checkbox_spec.rb
|
147
|
-
- spec/watirspec/checkboxes_spec.rb
|
148
|
-
- spec/watirspec/dd_spec.rb
|
149
|
-
- spec/watirspec/dds_spec.rb
|
150
|
-
- spec/watirspec/div_spec.rb
|
151
|
-
- spec/watirspec/divs_spec.rb
|
152
|
-
- spec/watirspec/dl_spec.rb
|
153
|
-
- spec/watirspec/dls_spec.rb
|
154
|
-
- spec/watirspec/dt_spec.rb
|
155
|
-
- spec/watirspec/dts_spec.rb
|
156
|
-
- spec/watirspec/element_spec.rb
|
157
|
-
- spec/watirspec/em_spec.rb
|
158
|
-
- spec/watirspec/ems_spec.rb
|
159
|
-
- spec/watirspec/filefield_spec.rb
|
160
|
-
- spec/watirspec/filefields_spec.rb
|
161
|
-
- spec/watirspec/form_spec.rb
|
162
|
-
- spec/watirspec/forms_spec.rb
|
163
|
-
- spec/watirspec/frame_spec.rb
|
164
|
-
- spec/watirspec/frames_spec.rb
|
165
|
-
- spec/watirspec/hidden_spec.rb
|
166
|
-
- spec/watirspec/hiddens_spec.rb
|
167
|
-
- spec/watirspec/hn_spec.rb
|
168
|
-
- spec/watirspec/hns_spec.rb
|
169
|
-
- spec/watirspec/image_spec.rb
|
170
|
-
- spec/watirspec/images_spec.rb
|
171
|
-
- spec/watirspec/label_spec.rb
|
172
|
-
- spec/watirspec/labels_spec.rb
|
173
|
-
- spec/watirspec/li_spec.rb
|
174
|
-
- spec/watirspec/lib/guards.rb
|
175
|
-
- spec/watirspec/lib/server.rb
|
176
|
-
- spec/watirspec/lib/spec_helper.rb
|
177
|
-
- spec/watirspec/lib/watirspec.rb
|
178
|
-
- spec/watirspec/link_spec.rb
|
179
|
-
- spec/watirspec/links_spec.rb
|
180
|
-
- spec/watirspec/lis_spec.rb
|
181
|
-
- spec/watirspec/map_spec.rb
|
182
|
-
- spec/watirspec/maps_spec.rb
|
183
|
-
- spec/watirspec/meta_spec.rb
|
184
|
-
- spec/watirspec/metas_spec.rb
|
185
|
-
- spec/watirspec/ol_spec.rb
|
186
|
-
- spec/watirspec/ols_spec.rb
|
187
|
-
- spec/watirspec/option_spec.rb
|
188
|
-
- spec/watirspec/p_spec.rb
|
189
|
-
- spec/watirspec/pre_spec.rb
|
190
|
-
- spec/watirspec/pres_spec.rb
|
191
|
-
- spec/watirspec/ps_spec.rb
|
192
|
-
- spec/watirspec/radio_spec.rb
|
193
|
-
- spec/watirspec/radios_spec.rb
|
194
|
-
- spec/watirspec/select_list_spec.rb
|
195
|
-
- spec/watirspec/select_lists_spec.rb
|
196
|
-
- spec/watirspec/span_spec.rb
|
197
|
-
- spec/watirspec/spans_spec.rb
|
198
|
-
- spec/watirspec/spec_helper.rb
|
199
|
-
- spec/watirspec/strong_spec.rb
|
200
|
-
- spec/watirspec/strongs_spec.rb
|
201
|
-
- spec/watirspec/table_bodies_spec.rb
|
202
|
-
- spec/watirspec/table_body_spec.rb
|
203
|
-
- spec/watirspec/table_cell_spec.rb
|
204
|
-
- spec/watirspec/table_cells_spec.rb
|
205
|
-
- spec/watirspec/table_footer_spec.rb
|
206
|
-
- spec/watirspec/table_footers_spec.rb
|
207
|
-
- spec/watirspec/table_header_spec.rb
|
208
|
-
- spec/watirspec/table_headers_spec.rb
|
209
|
-
- spec/watirspec/table_row_spec.rb
|
210
|
-
- spec/watirspec/table_rows_spec.rb
|
211
|
-
- spec/watirspec/table_spec.rb
|
212
|
-
- spec/watirspec/tables_spec.rb
|
213
|
-
- spec/watirspec/text_field_spec.rb
|
214
|
-
- spec/watirspec/text_fields_spec.rb
|
215
|
-
- spec/watirspec/ul_spec.rb
|
216
|
-
- spec/watirspec/uls_spec.rb
|
data/spec/watirspec/area_spec.rb
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
|
4
|
-
describe "Area" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
browser.goto(WatirSpec.files + "/images.html")
|
8
|
-
end
|
9
|
-
|
10
|
-
# Exists method
|
11
|
-
describe "#exist?" do
|
12
|
-
it "returns true if the area exists" do
|
13
|
-
browser.area(:id, "NCE").should exist
|
14
|
-
browser.area(:id, /NCE/).should exist
|
15
|
-
browser.area(:title, "Tables").should exist
|
16
|
-
browser.area(:title, /Tables/).should exist
|
17
|
-
|
18
|
-
bug "WTR-342", :watir do
|
19
|
-
browser.area(:url, "tables.html").should exist
|
20
|
-
browser.area(:url, /tables/).should exist
|
21
|
-
browser.area(:href, "tables.html").should exist
|
22
|
-
browser.area(:href, /tables/).should exist
|
23
|
-
end
|
24
|
-
|
25
|
-
browser.area(:index, 0).should exist
|
26
|
-
browser.area(:xpath, "//area[@id='NCE']").should exist
|
27
|
-
end
|
28
|
-
|
29
|
-
it "returns false if the area doesn't exist" do
|
30
|
-
browser.area(:id, "no_such_id").should_not exist
|
31
|
-
browser.area(:id, /no_such_id/).should_not exist
|
32
|
-
browser.area(:title, "no_such_title").should_not exist
|
33
|
-
browser.area(:title, /no_such_title/).should_not exist
|
34
|
-
|
35
|
-
bug "WTR-342", :watir do
|
36
|
-
browser.area(:url, "no_such_href").should_not exist
|
37
|
-
browser.area(:url, /no_such_href/).should_not exist
|
38
|
-
browser.area(:href, "tables.html").should exist
|
39
|
-
browser.area(:href, /tables/).should exist
|
40
|
-
end
|
41
|
-
|
42
|
-
browser.area(:index, 1337).should_not exist
|
43
|
-
browser.area(:xpath, "//area[@id='no_such_id']").should_not exist
|
44
|
-
end
|
45
|
-
|
46
|
-
it "raises TypeError when 'what' argument is invalid" do
|
47
|
-
lambda { browser.area(:id, 3.14).exists? }.should raise_error(TypeError)
|
48
|
-
end
|
49
|
-
|
50
|
-
it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
|
51
|
-
lambda { browser.area(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
# Attribute methods
|
56
|
-
describe "#id" do
|
57
|
-
it "returns the id attribute" do
|
58
|
-
browser.area(:index, 0).id.should == "NCE"
|
59
|
-
end
|
60
|
-
|
61
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
62
|
-
browser.area(:index, 2).id.should == ''
|
63
|
-
end
|
64
|
-
|
65
|
-
it "raises UnknownObjectException if the area doesn't exist" do
|
66
|
-
lambda { browser.area(:id, "no_such_id").id }.should raise_error(UnknownObjectException)
|
67
|
-
lambda { browser.area(:index, 1337).id }.should raise_error(UnknownObjectException)
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
describe "#respond_to?" do
|
73
|
-
it "returns true for all attribute methods" do
|
74
|
-
browser.area(:index, 0).should respond_to(:id)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
|
4
|
-
describe "Areas" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
browser.goto(WatirSpec.files + "/images.html")
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "#length" do
|
11
|
-
it "returns the number of areas" do
|
12
|
-
browser.areas.length.should == 3
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "#[]" do
|
17
|
-
it "returns the area at the given index" do
|
18
|
-
browser.areas[0].id.should == "NCE"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe "#each" do
|
23
|
-
it "iterates through areas correctly" do
|
24
|
-
browser.areas.each_with_index do |a, index|
|
25
|
-
a.id.should == browser.area(:index, index).id
|
26
|
-
a.value.should == browser.area(:index, index).value
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|