watir 1.9.2 → 2.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/CHANGES +27 -0
  2. data/VERSION +1 -1
  3. data/lib/watir/collections.rb +29 -387
  4. data/lib/watir/container.rb +14 -784
  5. data/lib/watir/dialogs/javascript.rb +7 -0
  6. data/lib/watir/element.rb +24 -4
  7. data/lib/watir/element_collections.rb +35 -57
  8. data/lib/watir/form.rb +13 -33
  9. data/lib/watir/frame.rb +14 -27
  10. data/lib/watir/html_element.rb +11 -3
  11. data/lib/watir/ie-class.rb +10 -1
  12. data/lib/watir/image.rb +3 -11
  13. data/lib/watir/input_elements.rb +11 -11
  14. data/lib/watir/link.rb +8 -15
  15. data/lib/watir/locator.rb +98 -73
  16. data/lib/watir/modal_dialog.rb +7 -1
  17. data/lib/watir/non_control_elements.rb +5 -89
  18. data/lib/watir/table.rb +46 -49
  19. data/unittests/checkbox_test.rb +39 -44
  20. data/unittests/checkbox_xpath_test.rb +2 -2
  21. data/unittests/css_test.rb +1 -1
  22. data/unittests/div_test.rb +43 -43
  23. data/unittests/div_xpath_test.rb +12 -12
  24. data/unittests/element_collections_test.rb +85 -0
  25. data/unittests/element_test.rb +4 -4
  26. data/unittests/form_test.rb +16 -19
  27. data/unittests/form_xpath_test.rb +6 -6
  28. data/unittests/frame_test.rb +114 -120
  29. data/unittests/html/multiple_specifiers.html +64 -0
  30. data/unittests/ie_test.rb +5 -5
  31. data/unittests/images_test.rb +12 -12
  32. data/unittests/index_specifier_test.rb +32 -0
  33. data/unittests/js_events_test.rb +3 -3
  34. data/unittests/links_multi_test.rb +4 -4
  35. data/unittests/links_test.rb +20 -20
  36. data/unittests/lists_test.rb +1 -1
  37. data/unittests/map_test.rb +1 -1
  38. data/unittests/multiple_specifiers_test.rb +29 -0
  39. data/unittests/no_wait_test.rb +2 -2
  40. data/unittests/pagecontainstext_test.rb +2 -2
  41. data/unittests/parent_child_test.rb +2 -2
  42. data/unittests/pre_test.rb +5 -5
  43. data/unittests/radios_test.rb +41 -60
  44. data/unittests/selectbox_test.rb +15 -15
  45. data/unittests/speed_settings_test.rb +2 -2
  46. data/unittests/table_and_tablerow_to_a_test.rb +7 -7
  47. data/unittests/table_test.rb +81 -94
  48. data/unittests/textfields_test.rb +26 -27
  49. data/unittests/windows/attach_to_new_window_test.rb +1 -1
  50. data/watir-rdoc.rb +1 -1
  51. data/watir.gemspec +1 -2
  52. metadata +34 -40
@@ -73,14 +73,14 @@ class TC_Fields < Test::Unit::TestCase
73
73
  build_to_s_regex("max length", "20"),
74
74
  build_to_s_regex("read only", "false")
75
75
  ]
76
- items = browser.text_field(:index, 1).to_s.split(/\n/)
76
+ items = browser.text_field(:index, 0).to_s.split(/\n/)
77
77
  expected.each_with_index{|regex, x| assert_match(regex, items[x]) }
78
78
  expected[1] = build_to_s_regex("id", "text2")
79
79
  expected[2] = build_to_s_regex("name", "")
80
80
  expected[3] = build_to_s_regex("value", "goodbye all")
81
81
  expected[6] = build_to_s_regex("max length", "2147483647")
82
82
 
83
- items = browser.text_field(:index, 2).to_s.split(/\n/)
83
+ items = browser.text_field(:index, 1).to_s.split(/\n/)
84
84
  expected.each_with_index{|regex, x| assert_match(regex, items[x]) }
85
85
  assert_raises(UnknownObjectException) { browser.text_field(:index, 999).to_s }
86
86
  end
@@ -119,19 +119,19 @@ class TC_Fields < Test::Unit::TestCase
119
119
  assert_raises(UnknownObjectException) { browser.text_field(:index, 199).disabled }
120
120
  assert_raises(UnknownObjectException) { browser.text_field(:index, 199).type }
121
121
 
122
- assert_equal("Hello World" , browser.text_field(:index, 1).value)
123
- assert_equal("text" , browser.text_field(:index, 1).type)
124
- assert_equal("text1" , browser.text_field(:index, 1).name)
125
- assert_equal("" , browser.text_field(:index, 1).id)
126
- assert_equal(false , browser.text_field(:index, 1).disabled)
122
+ assert_equal("Hello World" , browser.text_field(:index, 0).value)
123
+ assert_equal("text" , browser.text_field(:index, 0).type)
124
+ assert_equal("text1" , browser.text_field(:index, 0).name)
125
+ assert_equal("" , browser.text_field(:index, 0).id)
126
+ assert_equal(false , browser.text_field(:index, 0).disabled)
127
127
 
128
- assert_equal("" , browser.text_field(:index, 2).name)
129
- assert_equal("text2" , browser.text_field(:index, 2).id)
128
+ assert_equal("" , browser.text_field(:index, 1).name)
129
+ assert_equal("text2" , browser.text_field(:index, 1).id)
130
130
 
131
- assert(browser.text_field(:index, 4).disabled)
131
+ assert(browser.text_field(:index, 3).disabled)
132
132
 
133
133
  assert_equal("This used to test :afterText", browser.text_field(:name, "aftertest").title)
134
- assert_equal("", browser.text_field(:index, 1).title)
134
+ assert_equal("", browser.text_field(:index, 0).title)
135
135
  # adding for issue: http://jira.openqa.org/browse/WTR-89
136
136
  assert_equal("RegEx test", browser.text_field(:name, /REgEx/i).value)
137
137
  end
@@ -139,19 +139,18 @@ class TC_Fields < Test::Unit::TestCase
139
139
  def test_text_field_iterators
140
140
  assert_equal(14, browser.text_fields.length)
141
141
 
142
- # watir is 1 based, so this is the first text field
143
- assert_equal("Hello World", browser.text_fields[1].value)
144
- assert_equal("text1", browser.text_fields[1].name)
145
- assert_equal("password", browser.text_fields[browser.text_fields.length].type)
142
+ assert_equal("Hello World", browser.text_fields[0].value)
143
+ assert_equal("text1", browser.text_fields[0].name)
144
+ assert_equal("password", browser.text_fields[browser.text_fields.length - 1].type)
146
145
 
147
- index = 1
146
+ index = 0
148
147
  browser.text_fields.each do |t|
149
148
  assert_equal(browser.text_field(:index, index).value, t.value)
150
149
  assert_equal(browser.text_field(:index, index).id, t.id)
151
150
  assert_equal(browser.text_field(:index, index).name, t.name)
152
151
  index += 1
153
152
  end
154
- assert_equal(index - 1, browser.text_fields.length)
153
+ assert_equal(index, browser.text_fields.length)
155
154
  end
156
155
 
157
156
  tag_method :test_JS_Events, :fails_on_firefox
@@ -177,8 +176,8 @@ class TC_Fields < Test::Unit::TestCase
177
176
 
178
177
  def test_labels_iterator
179
178
  assert_equal(3, browser.labels.length)
180
- assert_equal('Label For this Field' , browser.labels[1].innerText.strip )
181
- assert_equal('Password With ID ( the text here is a label for it )' , browser.labels[3].innerText )
179
+ assert_equal('Label For this Field' , browser.labels[0].innerText.strip )
180
+ assert_equal('Password With ID ( the text here is a label for it )' , browser.labels[2].innerText )
182
181
 
183
182
  count=0
184
183
  browser.labels.each do |l|
@@ -196,16 +195,16 @@ class TC_Fields < Test::Unit::TestCase
196
195
 
197
196
  assert_false(browser.label(:index,10).exists?)
198
197
  assert_false(browser.label(:id,'missing').exists?)
199
- assert(browser.label(:index,1).exists?)
198
+ assert(browser.label(:index,0).exists?)
200
199
 
201
- assert_equal("", browser.label(:index,1).id)
202
- assert_false(browser.label(:index,1).disabled?)
203
- assert(browser.label(:index,1).enabled?)
200
+ assert_equal("", browser.label(:index,0).id)
201
+ assert_false(browser.label(:index,0).disabled?)
202
+ assert(browser.label(:index,0).enabled?)
204
203
 
205
- assert_equal("label2", browser.label(:index,2).id )
204
+ assert_equal("label2", browser.label(:index,1).id )
206
205
 
207
- assert_equal("Password With ID ( the text here is a label for it )" , browser.label(:index,3).innerText)
208
- assert_equal("password1", browser.label(:index,3).for)
206
+ assert_equal("Password With ID ( the text here is a label for it )" , browser.label(:index,2).innerText)
207
+ assert_equal("password1", browser.label(:index,2).for)
209
208
  end
210
209
 
211
210
  def test_max_length_is_not_exceeded
@@ -221,4 +220,4 @@ class TC_Fields < Test::Unit::TestCase
221
220
  browser.text_field(:value, 'foo').set 'bar'
222
221
  assert(browser.text_field(:value, 'bar').exists?)
223
222
  end
224
- end
223
+ end
@@ -43,7 +43,7 @@ class TC_NewWindow< Watir::TestCase
43
43
  end
44
44
 
45
45
  def test_click_no_wait_works_in_a_container
46
- browser.p(:index, 1).link(:text, 'New Window').click_no_wait
46
+ browser.p(:index, 0).link(:text, 'New Window').click_no_wait
47
47
  IE.attach_timeout = 6.0
48
48
  ie_new = IE.attach(:title, 'Pass Page')
49
49
  assert(ie_new.text.include?('PASS'))
@@ -1,6 +1,6 @@
1
1
  $WATIR_RDOC_OPTIONS = [] <<
2
2
  '--title' << 'Watir API Reference' <<
3
- '--accessor' << 'def_wrap=R,def_wrap_guard=R,def_creator=R,def_creator_with_default=R' <<
3
+ '--accessor' << 'def_wrap=R,def_wrap_guard=R' <<
4
4
  '--main' << 'README.rdoc' <<
5
5
  '--exclude' << 'unittests|camel_case.rb'
6
6
  $WATIR_EXTRA_RDOC_FILES = ['README.rdoc']
@@ -37,10 +37,9 @@ spec = Gem::Specification.new do |s|
37
37
  s.add_dependency 'win32-process', '>= 0.5.5'
38
38
  s.add_dependency 'windows-pr', '>= 0.6.6'
39
39
  s.add_dependency 'commonwatir', '= ' + version
40
- s.add_dependency 'firewatir', '= ' + version
41
40
  s.add_dependency 'nokogiri'
42
41
  s.add_dependency 'ffi', '~>1.0'
43
- s.add_dependency 'rautomation', '~>0.6.2'
42
+ s.add_dependency 'rautomation', '~>0.6.3'
44
43
 
45
44
  s.has_rdoc = true
46
45
  s.rdoc_options += $WATIR_RDOC_OPTIONS
metadata CHANGED
@@ -1,13 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir
3
3
  version: !ruby/object:Gem::Version
4
- hash: 55
5
- prerelease:
4
+ hash: 15424081
5
+ prerelease: 6
6
6
  segments:
7
- - 1
8
- - 9
9
7
  - 2
10
- version: 1.9.2
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-11 00:00:00 Z
20
+ date: 2011-07-24 00:00:00 Z
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
21
23
  name: win32-process
@@ -57,34 +59,20 @@ dependencies:
57
59
  requirements:
58
60
  - - "="
59
61
  - !ruby/object:Gem::Version
60
- hash: 55
62
+ hash: 15424081
61
63
  segments:
62
- - 1
63
- - 9
64
64
  - 2
65
- version: 1.9.2
66
- type: :runtime
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: firewatir
70
- prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - "="
75
- - !ruby/object:Gem::Version
76
- hash: 55
77
- segments:
78
- - 1
79
- - 9
65
+ - 0
66
+ - 0
67
+ - rc
80
68
  - 2
81
- version: 1.9.2
69
+ version: 2.0.0.rc2
82
70
  type: :runtime
83
- version_requirements: *id004
71
+ version_requirements: *id003
84
72
  - !ruby/object:Gem::Dependency
85
73
  name: nokogiri
86
74
  prerelease: false
87
- requirement: &id005 !ruby/object:Gem::Requirement
75
+ requirement: &id004 !ruby/object:Gem::Requirement
88
76
  none: false
89
77
  requirements:
90
78
  - - ">="
@@ -94,11 +82,11 @@ dependencies:
94
82
  - 0
95
83
  version: "0"
96
84
  type: :runtime
97
- version_requirements: *id005
85
+ version_requirements: *id004
98
86
  - !ruby/object:Gem::Dependency
99
87
  name: ffi
100
88
  prerelease: false
101
- requirement: &id006 !ruby/object:Gem::Requirement
89
+ requirement: &id005 !ruby/object:Gem::Requirement
102
90
  none: false
103
91
  requirements:
104
92
  - - ~>
@@ -109,23 +97,23 @@ dependencies:
109
97
  - 0
110
98
  version: "1.0"
111
99
  type: :runtime
112
- version_requirements: *id006
100
+ version_requirements: *id005
113
101
  - !ruby/object:Gem::Dependency
114
102
  name: rautomation
115
103
  prerelease: false
116
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ requirement: &id006 !ruby/object:Gem::Requirement
117
105
  none: false
118
106
  requirements:
119
107
  - - ~>
120
108
  - !ruby/object:Gem::Version
121
- hash: 3
109
+ hash: 1
122
110
  segments:
123
111
  - 0
124
112
  - 6
125
- - 2
126
- version: 0.6.2
113
+ - 3
114
+ version: 0.6.3
127
115
  type: :runtime
128
- version_requirements: *id007
116
+ version_requirements: *id006
129
117
  description: " WATIR is \"Web Application Testing in Ruby\". Watir (pronounced water) is a free,\n open-source functional testing tool for automating browser-based tests of web applications.\n It works with applications written in any language.\n Watir drives the Internet Explorer browser the same way an end user would.\n It clicks links, fills in forms, presses buttons.\n Watir also checks results, such as whether expected text appears on the\n page, or whether a control is enabled.\n Watir can test web applications written in any language.\n Watir is a Ruby library that works with Internet Explorer on Windows.\n"
130
118
  email: watir-general@groups.google.com
131
119
  executables:
@@ -187,6 +175,7 @@ files:
187
175
  - unittests/div2_xpath_test.rb
188
176
  - unittests/div_test.rb
189
177
  - unittests/div_xpath_test.rb
178
+ - unittests/element_collections_test.rb
190
179
  - unittests/element_test.rb
191
180
  - unittests/errorchecker_test.rb
192
181
  - unittests/filefield_test.rb
@@ -200,6 +189,7 @@ files:
200
189
  - unittests/ie_test.rb
201
190
  - unittests/images_test.rb
202
191
  - unittests/images_xpath_test.rb
192
+ - unittests/index_specifier_test.rb
203
193
  - unittests/js_events_test.rb
204
194
  - unittests/links_multi_test.rb
205
195
  - unittests/links_test.rb
@@ -207,6 +197,7 @@ files:
207
197
  - unittests/lists_test.rb
208
198
  - unittests/map_test.rb
209
199
  - unittests/minmax_test.rb
200
+ - unittests/multiple_specifiers_test.rb
210
201
  - unittests/navigate_test.rb
211
202
  - unittests/nbsp_xpath_test.rb
212
203
  - unittests/non_core_tests.rb
@@ -270,6 +261,7 @@ files:
270
261
  - unittests/html/map_test.html
271
262
  - unittests/html/modal_dialog.html
272
263
  - unittests/html/modal_dialog_launcher.html
264
+ - unittests/html/multiple_specifiers.html
273
265
  - unittests/html/nestedFrames.html
274
266
  - unittests/html/new_browser.html
275
267
  - unittests/html/pass.html
@@ -332,7 +324,7 @@ rdoc_options:
332
324
  - --title
333
325
  - Watir API Reference
334
326
  - --accessor
335
- - def_wrap=R,def_wrap_guard=R,def_creator=R,def_creator_with_default=R
327
+ - def_wrap=R,def_wrap_guard=R
336
328
  - --main
337
329
  - README.rdoc
338
330
  - --exclude
@@ -353,12 +345,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
353
345
  required_rubygems_version: !ruby/object:Gem::Requirement
354
346
  none: false
355
347
  requirements:
356
- - - ">="
348
+ - - ">"
357
349
  - !ruby/object:Gem::Version
358
- hash: 3
350
+ hash: 25
359
351
  segments:
360
- - 0
361
- version: "0"
352
+ - 1
353
+ - 3
354
+ - 1
355
+ version: 1.3.1
362
356
  requirements:
363
357
  - Microsoft Windows running Internet Explorer 5.5 or later.
364
358
  rubyforge_project: Watir