commonwatir 1.9.2 → 2.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +27 -0
- data/VERSION +1 -1
- data/lib/watir/browser.rb +4 -0
- data/lib/watir/browsers.rb +1 -1
- data/lib/watir/options.rb +3 -0
- data/unittests/buttons_test.rb +76 -11
- data/unittests/dd_test.rb +15 -1
- data/unittests/dl_test.rb +15 -1
- data/unittests/dt_test.rb +15 -1
- data/unittests/em_test.rb +15 -1
- data/unittests/strong_test.rb +15 -1
- data/unittests/whitespace_test.rb +6 -0
- metadata +14 -10
data/CHANGES
CHANGED
@@ -1,3 +1,30 @@
|
|
1
|
+
== Version 2.0.0 - 2011/07/XX
|
2
|
+
|
3
|
+
* RIP FireWatir - there won't be any new releases
|
4
|
+
* all elements are using 0-based indexing instead of old 1-based indexing:
|
5
|
+
- disable it temporarily: require "watir"; Watir.options[:zero_based_indexing] = false
|
6
|
+
* #radio and #checkbox methods doesn't allow 3 parameters anymore for locating with "value"
|
7
|
+
- use browser.radio(:name => "something", :value => "some value") syntax instead for locating with "value"
|
8
|
+
* all element methods accept now multiple-specifiers with hash syntax, for example:
|
9
|
+
- browser.element(:class => "someclass", :name => "somename")
|
10
|
+
* all elements are searchable by :xpath and :css now (note that it's usually slower than searching by other specifiers)
|
11
|
+
* #button, #form and #frame doesn't accept single string as a specifier anymore to search by name:
|
12
|
+
- use browser.frame(:name => "name") or browser.frame(:name, "name") syntax instead
|
13
|
+
* :index => 0 is used as a default specifier if nothing is specified:
|
14
|
+
- browser.div(:id => "id").table.tr is same as browser.div(:id => "id").table(:index => 0).tr(:index => 0)
|
15
|
+
* all collection methods accept now specifiers too:
|
16
|
+
- browser.divs(:class => "someclass").each {|div| puts div.class_name} # => "someclass"
|
17
|
+
* removed FormElement class
|
18
|
+
* renamed CheckBox class to Checkbox
|
19
|
+
* renamed CheckBoxes class to Checkboxes
|
20
|
+
* added aliases:
|
21
|
+
- tr => row
|
22
|
+
- trs => rows
|
23
|
+
- td => cell
|
24
|
+
- tds => cells
|
25
|
+
- a => link
|
26
|
+
- as => links
|
27
|
+
|
1
28
|
== Version 1.9.2 - 2011/07/11
|
2
29
|
|
3
30
|
=== IE improvements
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0.rc2
|
data/lib/watir/browser.rb
CHANGED
data/lib/watir/browsers.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Watir::Browser.support :name => 'ie', :class => 'Watir::IE',
|
6
6
|
:library => 'watir/ie', :gem => 'watir',
|
7
|
-
:options => [:speed, :visible]
|
7
|
+
:options => [:speed, :visible, :zero_based_indexing]
|
8
8
|
|
9
9
|
Watir::Browser.support :name => 'firefox', :class => 'FireWatir::Firefox',
|
10
10
|
:library => 'firewatir'
|
data/lib/watir/options.rb
CHANGED
data/unittests/buttons_test.rb
CHANGED
@@ -18,10 +18,6 @@ class TC_Button < Test::Unit::TestCase
|
|
18
18
|
assert_raises(UnknownObjectException) { browser.button(:name, "noName").value }
|
19
19
|
end
|
20
20
|
|
21
|
-
def test_exception_when_one_argument
|
22
|
-
assert_raises(UnknownObjectException) { browser.button( "Missing Caption").click }
|
23
|
-
end
|
24
|
-
|
25
21
|
def test_exceptions_with_click
|
26
22
|
assert_raises(UnknownObjectException) { browser.button(:caption, "Missing Caption").click }
|
27
23
|
assert_raises(UnknownObjectException) { browser.button(:id, "missingID").click }
|
@@ -35,6 +31,7 @@ class TC_Button < Test::Unit::TestCase
|
|
35
31
|
assert_raises(UnknownObjectException) { browser.button(:name, "noName").enabled? }
|
36
32
|
end
|
37
33
|
|
34
|
+
tag_method :test_properties, :fails_on_ie
|
38
35
|
def test_properties
|
39
36
|
assert_equal("b1", browser.button(:index, 1).name)
|
40
37
|
assert_equal("b2", browser.button(:index, 1).id)
|
@@ -57,10 +54,29 @@ class TC_Button < Test::Unit::TestCase
|
|
57
54
|
assert_equal("", browser.button(:index, 2).title)
|
58
55
|
assert_equal("this is button1", browser.button(:index, 1).title)
|
59
56
|
end
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
57
|
+
|
58
|
+
tag_method :test_properties_ie, :fails_on_firefox
|
59
|
+
def test_properties_ie
|
60
|
+
assert_equal("b1", browser.button(:index, 0).name)
|
61
|
+
assert_equal("b2", browser.button(:index, 0).id)
|
62
|
+
assert_equal("button", browser.button(:index, 0).type)
|
63
|
+
assert_equal("Click Me", browser.button(:index, 0).value)
|
64
|
+
assert_equal(false, browser.button(:index, 0).disabled)
|
65
|
+
assert_equal("italic_button", browser.button(:name, "b1").class_name)
|
66
|
+
assert_equal("", browser.button(:name , "b4").class_name)
|
67
|
+
|
68
|
+
assert_equal("b1", browser.button(:id, "b2").name)
|
69
|
+
assert_equal("b2", browser.button(:id, "b2").id)
|
70
|
+
assert_equal("button", browser.button(:id, "b2").type)
|
71
|
+
|
72
|
+
assert_equal("b4", browser.button(:index, 1).name)
|
73
|
+
assert_equal("b5", browser.button(:index, 1).id)
|
74
|
+
assert_equal("button", browser.button(:index, 1).type)
|
75
|
+
assert_equal("Disabled Button", browser.button(:index, 1).value)
|
76
|
+
assert_equal(true, browser.button(:index, 1).disabled)
|
77
|
+
|
78
|
+
assert_equal("", browser.button(:index, 1).title)
|
79
|
+
assert_equal("this is button1", browser.button(:index, 0).title)
|
64
80
|
end
|
65
81
|
|
66
82
|
def test_click_and_caption
|
@@ -135,12 +151,12 @@ class TC_Button2 < Test::Unit::TestCase
|
|
135
151
|
assert(browser.text.include?("PASS"))
|
136
152
|
end
|
137
153
|
|
138
|
-
tag_method :test_buttons_length, :fails_on_ie
|
139
154
|
def test_buttons_length
|
140
155
|
arrButtons = browser.buttons
|
141
156
|
assert_equal(7, arrButtons.length)
|
142
157
|
end
|
143
158
|
|
159
|
+
tag_method :test_buttons, :fails_on_ie
|
144
160
|
def test_buttons
|
145
161
|
arrButtons = browser.buttons
|
146
162
|
assert_equal("b2", arrButtons[1].id)
|
@@ -152,7 +168,19 @@ class TC_Button2 < Test::Unit::TestCase
|
|
152
168
|
assert_equal("Sign In", arrButtons[7].value)
|
153
169
|
end
|
154
170
|
|
155
|
-
|
171
|
+
tag_method :test_buttons_ie, :fails_on_firefox
|
172
|
+
def test_buttons_ie
|
173
|
+
arrButtons = browser.buttons
|
174
|
+
assert_equal("b2", arrButtons[0].id)
|
175
|
+
assert_equal("b5", arrButtons[1].id)
|
176
|
+
assert_equal("Submit", arrButtons[2].value)
|
177
|
+
assert_equal("sub3", arrButtons[3].name)
|
178
|
+
assert_equal("b7", arrButtons[4].id)
|
179
|
+
assert_equal("b9", arrButtons[5].id)
|
180
|
+
assert_equal("Sign In", arrButtons[6].value)
|
181
|
+
end
|
182
|
+
|
183
|
+
tag_method :test_class_buttons, :fails_on_ie
|
156
184
|
def test_class_buttons
|
157
185
|
arr_buttons = browser.buttons
|
158
186
|
arr_buttons.each do |b|
|
@@ -182,15 +210,52 @@ class TC_Button2 < Test::Unit::TestCase
|
|
182
210
|
assert_equal("Sign In", arr_buttons[7].value)
|
183
211
|
end
|
184
212
|
|
213
|
+
tag_method :test_class_buttons_ie, :fails_on_firefox
|
214
|
+
def test_class_buttons_ie
|
215
|
+
arr_buttons = browser.buttons
|
216
|
+
arr_buttons.each do |b|
|
217
|
+
assert_class b, 'Button'
|
218
|
+
end
|
219
|
+
# test properties
|
220
|
+
assert_equal("b2", arr_buttons[0].id)
|
221
|
+
assert_equal("b1", arr_buttons[0].name)
|
222
|
+
assert_equal("button", arr_buttons[0].type)
|
223
|
+
assert_equal("Click Me", arr_buttons[0].value)
|
224
|
+
assert_equal(false, arr_buttons[0].disabled)
|
225
|
+
assert_equal("italic_button", arr_buttons[0].class_name)
|
226
|
+
assert_equal( "this is button1", arr_buttons[0].title)
|
227
|
+
|
228
|
+
assert_equal("b5", arr_buttons[1].id)
|
229
|
+
assert_equal("b4", arr_buttons[1].name)
|
230
|
+
assert_equal("button", arr_buttons[1].type)
|
231
|
+
assert_equal("Disabled Button", arr_buttons[1].value)
|
232
|
+
assert_equal(true, arr_buttons[1].disabled)
|
233
|
+
assert_equal( "", arr_buttons[1].title)
|
234
|
+
assert_equal("", arr_buttons[1].class_name)
|
235
|
+
|
236
|
+
assert_equal("Submit", arr_buttons[2].value)
|
237
|
+
assert_equal("sub3", arr_buttons[3].name)
|
238
|
+
assert_equal("b7", arr_buttons[4].id)
|
239
|
+
assert_equal("b9", arr_buttons[5].id)
|
240
|
+
assert_equal("Sign In", arr_buttons[6].value)
|
241
|
+
end
|
242
|
+
|
185
243
|
def test_hash_syntax
|
186
244
|
assert_equal('Click Me2', browser.button(:id => 'b7').value)
|
187
245
|
end
|
188
246
|
|
247
|
+
tag_method :test_class_and_index, :fails_on_ie
|
189
248
|
def test_class_and_index
|
190
249
|
assert_equal('Click Me2',
|
191
250
|
browser.button(:class => 'italic_button', :index => 2).value)
|
192
251
|
end
|
193
252
|
|
253
|
+
tag_method :test_class_and_index_ie, :fails_on_firefox
|
254
|
+
def test_class_and_index_ie
|
255
|
+
assert_equal('Click Me2',
|
256
|
+
browser.button(:class => 'italic_button', :index => 1).value)
|
257
|
+
end
|
258
|
+
|
194
259
|
def test_name_and_id #sick, but what the hell
|
195
260
|
assert_equal('Disabled Button2',
|
196
261
|
browser.button(:name => 'b8', :id => 'b9').value)
|
@@ -213,7 +278,7 @@ class TC_Button_Frame < Test::Unit::TestCase
|
|
213
278
|
end
|
214
279
|
|
215
280
|
def test_in_frame
|
216
|
-
assert(browser.frame("buttonFrame").button(:caption, "Click Me").enabled?)
|
281
|
+
assert(browser.frame(:name, "buttonFrame").button(:caption, "Click Me").enabled?)
|
217
282
|
end
|
218
283
|
|
219
284
|
def test_error_in_frame
|
data/unittests/dd_test.rb
CHANGED
@@ -55,6 +55,7 @@ class TC_Dd < Test::Unit::TestCase
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
+
tag_method :test_dd_iterator, :fails_on_ie
|
58
59
|
def test_dd_iterator
|
59
60
|
assert_equal(11, browser.dds.length)
|
60
61
|
assert_equal("education", browser.dds[2].title)
|
@@ -66,5 +67,18 @@ class TC_Dd < Test::Unit::TestCase
|
|
66
67
|
assert_equal(browser.dd(:index,idx+1).title, dd.title)
|
67
68
|
end
|
68
69
|
end
|
70
|
+
|
71
|
+
tag_method :test_dd_iterator_ie, :fails_on_firefox
|
72
|
+
def test_dd_iterator_ie
|
73
|
+
assert_equal(11, browser.dds.length)
|
74
|
+
assert_equal("education", browser.dds[1].title)
|
75
|
+
|
76
|
+
browser.dds.each_with_index do |dd, idx|
|
77
|
+
assert_equal(browser.dd(:index,idx).text, dd.text)
|
78
|
+
assert_equal(browser.dd(:index,idx).id, dd.id)
|
79
|
+
assert_equal(browser.dd(:index,idx).class_name , dd.class_name)
|
80
|
+
assert_equal(browser.dd(:index,idx).title, dd.title)
|
81
|
+
end
|
82
|
+
end
|
69
83
|
|
70
|
-
end
|
84
|
+
end
|
data/unittests/dl_test.rb
CHANGED
@@ -53,6 +53,7 @@ class TC_Dl < Test::Unit::TestCase
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
tag_method :test_dls_iterator, :fails_on_ie
|
56
57
|
def test_dls_iterator
|
57
58
|
assert_equal(3, browser.dls.length)
|
58
59
|
assert_equal("experience-list", browser.dls[1].id)
|
@@ -65,4 +66,17 @@ class TC_Dl < Test::Unit::TestCase
|
|
65
66
|
end
|
66
67
|
end
|
67
68
|
|
68
|
-
|
69
|
+
tag_method :test_dls_iterator_ie, :fails_on_firefox
|
70
|
+
def test_dls_iterator_ie
|
71
|
+
assert_equal(3, browser.dls.length)
|
72
|
+
assert_equal("experience-list", browser.dls[0].id)
|
73
|
+
|
74
|
+
browser.dls.each_with_index do |dl, idx|
|
75
|
+
assert_equal(browser.dl(:index,idx).text, dl.text)
|
76
|
+
assert_equal(browser.dl(:index,idx).id, dl.id)
|
77
|
+
assert_equal(browser.dl(:index,idx).class_name , dl.class_name)
|
78
|
+
assert_equal(browser.dl(:index,idx).title, dl.title)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
data/unittests/dt_test.rb
CHANGED
@@ -53,6 +53,7 @@ class TC_Dt < Test::Unit::TestCase
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
tag_method :test_dts_iterator, :fails_on_ie
|
56
57
|
def test_dts_iterator
|
57
58
|
assert_equal(11, browser.dts.length)
|
58
59
|
assert_equal("experience", browser.dts[1].id)
|
@@ -65,4 +66,17 @@ class TC_Dt < Test::Unit::TestCase
|
|
65
66
|
end
|
66
67
|
end
|
67
68
|
|
68
|
-
|
69
|
+
tag_method :test_dts_iterator_ie, :fails_on_firefox
|
70
|
+
def test_dts_iterator_ie
|
71
|
+
assert_equal(11, browser.dts.length)
|
72
|
+
assert_equal("experience", browser.dts[0].id)
|
73
|
+
|
74
|
+
browser.dts.each_with_index do |dt, idx|
|
75
|
+
assert_equal(browser.dt(:index,idx).text, dt.text)
|
76
|
+
assert_equal(browser.dt(:index,idx).id, dt.id)
|
77
|
+
assert_equal(browser.dt(:index,idx).class_name , dt.class_name)
|
78
|
+
assert_equal(browser.dt(:index,idx).title, dt.title)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
data/unittests/em_test.rb
CHANGED
@@ -52,6 +52,7 @@ class TC_Em < Test::Unit::TestCase
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
+
tag_method :test_em_iterator, :fails_on_ie
|
55
56
|
def test_em_iterator
|
56
57
|
assert_equal(3, browser.ems.length)
|
57
58
|
assert_equal("two text", browser.ems[2].text)
|
@@ -64,4 +65,17 @@ class TC_Em < Test::Unit::TestCase
|
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
67
|
-
|
68
|
+
tag_method :test_em_iterator_ie, :fails_on_firefox
|
69
|
+
def test_em_iterator_ie
|
70
|
+
assert_equal(3, browser.ems.length)
|
71
|
+
assert_equal("two text", browser.ems[1].text)
|
72
|
+
|
73
|
+
browser.ems.each_with_index do |em, idx|
|
74
|
+
assert_equal browser.em(:index, idx).text, em.text
|
75
|
+
assert_equal browser.em(:index, idx).id, em.id
|
76
|
+
assert_equal browser.em(:index, idx).class_name, em.class_name
|
77
|
+
assert_equal browser.em(:index, idx).title, em.title
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
data/unittests/strong_test.rb
CHANGED
@@ -17,6 +17,7 @@ class TC_Strong < Test::Unit::TestCase
|
|
17
17
|
assert browser.strong(:text, /this is a/).exists?, "Could not finr <strong> by :text"
|
18
18
|
end
|
19
19
|
|
20
|
+
tag_method :test_strong_iterator, :fails_on_ie
|
20
21
|
def test_strong_iterator
|
21
22
|
assert_equal(2, browser.strongs.length)
|
22
23
|
assert_equal("this is a strong", browser.strongs[1].text)
|
@@ -29,4 +30,17 @@ class TC_Strong < Test::Unit::TestCase
|
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
32
|
-
|
33
|
+
tag_method :test_strong_iterator_ie, :fails_on_firefox
|
34
|
+
def test_strong_iterator_ie
|
35
|
+
assert_equal(2, browser.strongs.length)
|
36
|
+
assert_equal("this is a strong", browser.strongs[0].text)
|
37
|
+
|
38
|
+
browser.strongs.each_with_index do |strong, idx|
|
39
|
+
assert_equal(browser.strong(:index,idx).text, strong.text)
|
40
|
+
assert_equal(browser.strong(:index,idx).id, strong.id)
|
41
|
+
assert_equal(browser.strong(:index,idx).class_name , strong.class_name)
|
42
|
+
assert_equal(browser.strong(:index,idx).title, strong.title)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -10,10 +10,16 @@ class TC_WhiteSpace < Test::Unit::TestCase
|
|
10
10
|
uses_page "whitespace.html"
|
11
11
|
end
|
12
12
|
|
13
|
+
tag_method :test_text_with_nbsp, :fails_on_ie
|
13
14
|
def test_text_with_nbsp
|
14
15
|
assert_equal 'Login', browser.link(:index => 1).text
|
15
16
|
end
|
16
17
|
|
18
|
+
tag_method :test_text_with_nbsp_ie, :fails_on_firefox
|
19
|
+
def test_text_with_nbsp_ie
|
20
|
+
assert_equal 'Login', browser.link(:index => 0).text
|
21
|
+
end
|
22
|
+
|
17
23
|
def test_nbsp_beginning_and_end
|
18
24
|
assert browser.link(:text, 'Login').exists?
|
19
25
|
end
|
metadata
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commonwatir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15424081
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
|
-
- 1
|
8
|
-
- 9
|
9
7
|
- 2
|
10
|
-
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 2
|
12
|
+
version: 2.0.0.rc2
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- Bret Pettichord
|
@@ -15,7 +17,7 @@ autorequire:
|
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date: 2011-07-
|
20
|
+
date: 2011-07-24 00:00:00 Z
|
19
21
|
dependencies:
|
20
22
|
- !ruby/object:Gem::Dependency
|
21
23
|
name: user-choices
|
@@ -123,12 +125,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
126
|
none: false
|
125
127
|
requirements:
|
126
|
-
- - "
|
128
|
+
- - ">"
|
127
129
|
- !ruby/object:Gem::Version
|
128
|
-
hash:
|
130
|
+
hash: 25
|
129
131
|
segments:
|
130
|
-
-
|
131
|
-
|
132
|
+
- 1
|
133
|
+
- 3
|
134
|
+
- 1
|
135
|
+
version: 1.3.1
|
132
136
|
requirements: []
|
133
137
|
|
134
138
|
rubyforge_project: wtr
|