watir 6.19.1 → 7.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.github/actions/install-chrome/action.yml +1 -0
  3. data/.github/actions/setup-linux/action.yml +8 -0
  4. data/.github/workflows/tests.yml +100 -0
  5. data/CHANGES.md +7 -0
  6. data/README.md +1 -4
  7. data/Rakefile +1 -1
  8. data/lib/watir.rb +1 -45
  9. data/lib/watir/alert.rb +3 -8
  10. data/lib/watir/capabilities.rb +54 -230
  11. data/lib/watir/cell_container.rb +4 -4
  12. data/lib/watir/container.rb +4 -26
  13. data/lib/watir/elements/checkbox.rb +4 -4
  14. data/lib/watir/elements/date_field.rb +4 -4
  15. data/lib/watir/elements/date_time_field.rb +4 -4
  16. data/lib/watir/elements/element.rb +12 -49
  17. data/lib/watir/elements/file_field.rb +4 -4
  18. data/lib/watir/elements/font.rb +4 -4
  19. data/lib/watir/elements/hidden.rb +4 -4
  20. data/lib/watir/elements/html_elements.rb +444 -445
  21. data/lib/watir/elements/iframe.rb +4 -4
  22. data/lib/watir/elements/radio.rb +4 -4
  23. data/lib/watir/elements/select.rb +12 -78
  24. data/lib/watir/elements/svg_elements.rb +96 -96
  25. data/lib/watir/elements/text_field.rb +4 -4
  26. data/lib/watir/generator/base/generator.rb +4 -4
  27. data/lib/watir/generator/base/visitor.rb +0 -29
  28. data/lib/watir/generator/html/generator.rb +2 -1
  29. data/lib/watir/has_window.rb +4 -4
  30. data/lib/watir/http_client.rb +0 -8
  31. data/lib/watir/locators.rb +1 -5
  32. data/lib/watir/locators/button/matcher.rb +0 -23
  33. data/lib/watir/locators/button/selector_builder/xpath.rb +4 -15
  34. data/lib/watir/locators/element/matcher.rb +4 -19
  35. data/lib/watir/locators/element/selector_builder.rb +2 -37
  36. data/lib/watir/locators/element/selector_builder/xpath.rb +26 -41
  37. data/lib/watir/radio_set.rb +2 -2
  38. data/lib/watir/row_container.rb +4 -4
  39. data/lib/watir/version.rb +1 -1
  40. data/lib/watir/wait.rb +4 -74
  41. data/lib/watir/window.rb +6 -22
  42. data/lib/watir/window_collection.rb +5 -49
  43. data/lib/watirspec/implementation.rb +4 -0
  44. data/spec/spec_helper.rb +2 -7
  45. data/spec/unit/capabilities_spec.rb +196 -929
  46. data/spec/unit/match_elements/button_spec.rb +0 -13
  47. data/spec/unit/match_elements/element_spec.rb +38 -47
  48. data/spec/unit/match_elements/text_field_spec.rb +6 -6
  49. data/spec/unit/selector_builder/element_spec.rb +6 -23
  50. data/spec/unit/selector_builder/text_field_spec.rb +6 -7
  51. data/spec/watirspec/alert_spec.rb +4 -21
  52. data/spec/watirspec/browser_spec.rb +2 -2
  53. data/spec/watirspec/cookies_spec.rb +1 -1
  54. data/spec/watirspec/elements/button_spec.rb +0 -10
  55. data/spec/watirspec/elements/checkbox_spec.rb +10 -22
  56. data/spec/watirspec/elements/div_spec.rb +4 -34
  57. data/spec/watirspec/elements/divs_spec.rb +2 -2
  58. data/spec/watirspec/elements/element_spec.rb +38 -84
  59. data/spec/watirspec/elements/form_spec.rb +2 -4
  60. data/spec/watirspec/elements/links_spec.rb +4 -4
  61. data/spec/watirspec/elements/select_list_spec.rb +7 -108
  62. data/spec/watirspec/elements/span_spec.rb +2 -2
  63. data/spec/watirspec/elements/spans_spec.rb +1 -1
  64. data/spec/watirspec/elements/strong_spec.rb +1 -1
  65. data/spec/watirspec/html/non_control_elements.html +8 -3
  66. data/spec/watirspec/support/rspec_matchers.rb +1 -32
  67. data/spec/watirspec/window_switching_spec.rb +2 -49
  68. data/spec/watirspec_helper.rb +6 -1
  69. data/watir.gemspec +3 -4
  70. metadata +11 -32
  71. data/.github/workflows/linux.yml +0 -61
  72. data/.github/workflows/mac.yml +0 -55
  73. data/.github/workflows/unit.yml +0 -37
  74. data/.github/workflows/windows.yml +0 -39
  75. data/lib/watir/legacy_wait.rb +0 -123
  76. data/spec/unit/container_spec.rb +0 -35
  77. data/spec/watirspec/legacy_wait_spec.rb +0 -216
@@ -16,19 +16,6 @@ describe Watir::Locators::Button::Matcher do
16
16
  expect(matcher.match(elements, values_to_match, :all)).to eq [elements[2]]
17
17
  end
18
18
 
19
- it 'value attribute matches text' do
20
- elements = [wd_element(text: 'foo', attributes: {value: 'foo'}),
21
- wd_element(text: 'bar', attributes: {value: 'bar'}),
22
- wd_element(text: 'foobar')]
23
- values_to_match = {value: 'foobar'}
24
-
25
- expect(elements[2]).not_to receive(:attribute)
26
-
27
- expect {
28
- expect(matcher.match(elements, values_to_match, :all)).to eq [elements[2]]
29
- }.to have_deprecated_value_button
30
- end
31
-
32
19
  it 'returns empty array if neither value nor text match' do
33
20
  elements = [wd_element(text: 'foo', attributes: {value: 'foo'}),
34
21
  wd_element(text: 'bar', attributes: {value: 'bar'}),
@@ -14,9 +14,11 @@ describe Watir::Locators::Element::Matcher do
14
14
  wd_element(tag_name: 'input', attributes: {id: 'bfoo_id'}),
15
15
  wd_element(tag_name: 'input', attributes: {id: 'foo_id'})]
16
16
 
17
- label_wds = [wd_element(tag_name: 'label', text: 'foob'),
18
- wd_element(tag_name: 'label', text: 'bfoo'),
19
- wd_element(tag_name: 'label', text: 'foo')]
17
+ label_wds = [wd_element(tag_name: 'label'),
18
+ wd_element(tag_name: 'label'),
19
+ wd_element(tag_name: 'label')]
20
+
21
+ allow(browser).to receive(:execute_script).and_return('foob', 'Foo', 'foo')
20
22
 
21
23
  labels = [element(watir_element: Watir::Label, wd: label_wds[0], for: 'foob_id'),
22
24
  element(watir_element: Watir::Label, wd: label_wds[1], for: 'bfoo_id'),
@@ -27,7 +29,6 @@ describe Watir::Locators::Element::Matcher do
27
29
  expect(labels[1]).not_to receive(:for)
28
30
 
29
31
  allow(query_scope).to receive(:labels).and_return(labels)
30
- allow(matcher).to receive(:deprecate_text_regexp).exactly(3).times
31
32
  allow_any_instance_of(Watir::Input).to receive(:wd).and_return(input_wds[2], input_wds[2])
32
33
 
33
34
  values_to_match = {label_element: 'foo'}
@@ -44,9 +45,11 @@ describe Watir::Locators::Element::Matcher do
44
45
  element(watir_element: Watir::Input, wd: input_wds[1]),
45
46
  element(watir_element: Watir::Input, wd: input_wds[2])]
46
47
 
47
- label_wds = [wd_element(tag_name: 'label', text: 'foob'),
48
- wd_element(tag_name: 'label', text: 'Foo'),
49
- wd_element(tag_name: 'label', text: 'foo')]
48
+ label_wds = [wd_element(tag_name: 'label'),
49
+ wd_element(tag_name: 'label'),
50
+ wd_element(tag_name: 'label')]
51
+
52
+ allow(browser).to receive(:execute_script).and_return('foob', 'Foo', 'foo')
50
53
 
51
54
  labels = [element(watir_element: Watir::Label, wd: label_wds[0], for: '', input: inputs[0]),
52
55
  element(watir_element: Watir::Label, wd: label_wds[1], for: '', input: inputs[1]),
@@ -57,7 +60,6 @@ describe Watir::Locators::Element::Matcher do
57
60
  expect(labels[1]).not_to receive(:for)
58
61
 
59
62
  allow(query_scope).to receive(:labels).and_return(labels)
60
- allow(matcher).to receive(:deprecate_text_regexp).exactly(3).times
61
63
 
62
64
  values_to_match = {label_element: 'foo'}
63
65
 
@@ -71,14 +73,16 @@ describe Watir::Locators::Element::Matcher do
71
73
  inputs = [element(watir_element: Watir::Input, wd: wd_element(tag_name: 'input')),
72
74
  element(watir_element: Watir::Input, wd: input_wds[1])]
73
75
 
74
- label_wds = [wd_element(tag_name: 'label', text: 'foo'),
75
- wd_element(tag_name: 'label', text: 'foo')]
76
+ label_wds = [wd_element(tag_name: 'label'),
77
+ wd_element(tag_name: 'label'),
78
+ wd_element(tag_name: 'label')]
79
+
80
+ allow(browser).to receive(:execute_script).and_return('foo', 'foo')
76
81
 
77
82
  labels = [element(watir_element: Watir::Label, wd: label_wds[0], for: '', input: inputs[0]),
78
83
  element(watir_element: Watir::Label, wd: label_wds[1], for: '', input: inputs[1])]
79
84
 
80
85
  allow(query_scope).to receive(:labels).and_return(labels)
81
- allow(matcher).to receive(:deprecate_text_regexp).exactly(2).times
82
86
 
83
87
  values_to_match = {label_element: 'foo'}
84
88
 
@@ -89,14 +93,16 @@ describe Watir::Locators::Element::Matcher do
89
93
  input_wds = [wd_element(tag_name: 'input', attributes: {id: 'foo'}),
90
94
  wd_element(tag_name: 'input', attributes: {id: 'bfoo'})]
91
95
 
92
- label_wds = [wd_element(tag_name: 'label', text: 'Not this'),
93
- wd_element(tag_name: 'label', text: 'Or This')]
96
+ label_wds = [wd_element(tag_name: 'label'),
97
+ wd_element(tag_name: 'label'),
98
+ wd_element(tag_name: 'label')]
99
+
100
+ allow(browser).to receive(:execute_script).and_return('Not this', 'or this')
94
101
 
95
102
  labels = [element(watir_element: Watir::Label, wd: label_wds[0], for: 'foo'),
96
103
  element(watir_element: Watir::Label, wd: label_wds[1], for: 'bfoo')]
97
104
 
98
105
  allow(query_scope).to receive(:labels).and_return(labels)
99
- allow(matcher).to receive(:deprecate_text_regexp).exactly(2).times
100
106
 
101
107
  values_to_match = {label_element: 'foo'}
102
108
 
@@ -110,14 +116,15 @@ describe Watir::Locators::Element::Matcher do
110
116
  inputs = [element(watir_element: Watir::Input, wd: wd_element(tag_name: 'input')),
111
117
  element(watir_element: Watir::Input, wd: wd_element(tag_name: 'input'))]
112
118
 
113
- label_wds = [wd_element(tag_name: 'label', text: 'foob'),
114
- wd_element(tag_name: 'label', text: 'foo')]
119
+ label_wds = [wd_element(tag_name: 'label'),
120
+ wd_element(tag_name: 'label')]
121
+
122
+ allow(browser).to receive(:execute_script).and_return('foob', 'foo')
115
123
 
116
124
  labels = [element(watir_element: Watir::Label, wd: label_wds[0], for: '', input: inputs[0]),
117
125
  element(watir_element: Watir::Label, wd: label_wds[1], for: '', input: inputs[1])]
118
126
 
119
127
  allow(query_scope).to receive(:labels).and_return(labels)
120
- allow(matcher).to receive(:deprecate_text_regexp).exactly(2).times
121
128
 
122
129
  values_to_match = {label_element: 'foo'}
123
130
 
@@ -191,11 +198,10 @@ describe Watir::Locators::Element::Matcher do
191
198
  end
192
199
 
193
200
  it 'by text' do
194
- elements = [wd_element(text: 'foo'),
195
- wd_element(text: 'Foob')]
201
+ elements = [wd_element, wd_element]
196
202
  @values_to_match = {text: 'Foob'}
197
203
 
198
- allow(matcher).to receive(:deprecate_text_regexp).exactly(3).times
204
+ allow(browser).to receive(:execute_script).and_return('foo', 'Foob')
199
205
 
200
206
  expect(matcher.match(elements, values_to_match, @filter)).to eq elements[1]
201
207
  end
@@ -290,12 +296,10 @@ describe Watir::Locators::Element::Matcher do
290
296
  end
291
297
 
292
298
  it 'by text' do
293
- elements = [wd_element(text: 'foo'),
294
- wd_element(text: 'Foob'),
295
- wd_element(text: 'bBarb')]
299
+ elements = [wd_element, wd_element, wd_element]
296
300
  @values_to_match = {text: /Foo|Bar/}
297
301
 
298
- allow(matcher).to receive(:deprecate_text_regexp).exactly(3).times
302
+ allow(browser).to receive(:execute_script).and_return('foo', 'Foob', 'bBarb')
299
303
 
300
304
  expect(matcher.match(elements, values_to_match, @filter)).to eq [elements[1], elements[2]]
301
305
  end
@@ -369,55 +373,42 @@ describe Watir::Locators::Element::Matcher do
369
373
  # See equivalent tests in checkbox_spec
370
374
  context 'text_regexp deprecations' do
371
375
  let(:filter) { :first }
372
- let(:elements) do
373
- [wd_element(text: 'all visible'),
374
- wd_element(text: 'some visible')]
375
- end
376
+ let(:elements) { [wd_element, wd_element] }
376
377
 
377
378
  it 'not thrown when still matched by text content' do
378
379
  @values_to_match = {text: /some visible/}
379
- allow(browser).to receive(:execute_script).and_return('some visible some hidden')
380
- allow(browser).to receive(:timer).and_return(Watir::Wait::Timer.new)
381
- allow(browser).to receive(:timer=).and_return(Watir::Wait::Timer.new)
380
+ allow(browser).to receive(:execute_script).and_return('all visible', 'some visible')
382
381
 
383
- expect {
384
- expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
385
- }.not_to have_deprecated_text_regexp
382
+ expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
386
383
  end
387
384
 
388
385
  it 'not thrown with complex regexp matched by text content' do
389
386
  @values_to_match = {text: /some (in|)visible/}
390
- allow(browser).to receive(:execute_script).and_return('some visible some hidden')
391
- allow(browser).to receive(:timer).and_return(Watir::Wait::Timer.new)
392
- allow(browser).to receive(:timer=).and_return(Watir::Wait::Timer.new)
387
+ allow(browser).to receive(:execute_script).and_return('all visible', 'some visible')
393
388
 
394
- expect {
395
- expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
396
- }.not_to have_deprecated_text_regexp
389
+ expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
397
390
  end
398
391
 
399
392
  it 'thrown when no longer matched by text content' do
400
393
  @values_to_match = {text: /some visible$/}
401
- allow(browser).to receive(:execute_script).and_return('some visible some hidden')
394
+ allow(browser).to receive(:execute_script).and_return('all visible', 'some visible')
402
395
  allow(browser).to receive(:timer).and_return(Watir::Wait::Timer.new)
403
396
  allow(browser).to receive(:timer=).and_return(Watir::Wait::Timer.new)
404
397
 
405
- expect {
406
- expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
407
- }.to have_deprecated_text_regexp
398
+ expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
408
399
  end
409
400
 
410
401
  it 'not thrown when element does not exist' do
411
402
  @values_to_match = {text: /definitely not there/}
403
+ allow(browser).to receive(:execute_script).and_return('all visible', 'some visible')
412
404
 
413
- expect {
414
- expect(matcher.match(elements, values_to_match, filter)).to eq elements[1]
415
- }.to_not have_deprecated_text_regexp
405
+ expect(matcher.match(elements, values_to_match, filter)).to eq nil
416
406
  end
417
407
 
418
408
  # Note: This will work after:text_regexp deprecation removed
419
409
  it 'keeps element from being located' do
420
410
  @values_to_match = {text: /some visible some hidden/}
411
+ allow(browser).to receive(:execute_script).and_return('all visible', 'some visible')
421
412
 
422
413
  expect(matcher.match(elements, values_to_match, filter)).to be_nil
423
414
  end
@@ -44,25 +44,25 @@ describe Watir::Locators::TextField::Matcher do
44
44
 
45
45
  context 'when label element' do
46
46
  it 'converts value to text' do
47
- elements = [wd_element(tag_name: 'label', text: 'foo'),
48
- wd_element(tag_name: 'label', text: 'Foob')]
47
+ elements = [wd_element(tag_name: 'label'),
48
+ wd_element(tag_name: 'label')]
49
49
  values_to_match = {value: 'Foob'}
50
50
 
51
+ allow(query_scope).to receive(:execute_script).and_return('foo', 'Foob')
51
52
  expect(elements[0]).not_to receive(:attribute).with(values_to_match)
52
53
  expect(elements[1]).not_to receive(:attribute).with(values_to_match)
53
- allow(matcher).to receive(:deprecate_text_regexp).exactly(2).times
54
54
 
55
55
  expect(matcher.match(elements, values_to_match, :all)).to eq [elements[1]]
56
56
  end
57
57
 
58
58
  it 'converts label to text' do
59
- elements = [wd_element(tag_name: 'label', text: 'foo'),
60
- wd_element(tag_name: 'label', text: 'Foob')]
59
+ elements = [wd_element(tag_name: 'label'),
60
+ wd_element(tag_name: 'label')]
61
61
  values_to_match = {label: 'Foob'}
62
62
 
63
+ allow(query_scope).to receive(:execute_script).and_return('foo', 'Foob')
63
64
  expect(elements[0]).not_to receive(:attribute).with(values_to_match)
64
65
  expect(elements[1]).not_to receive(:attribute).with(values_to_match)
65
- allow(matcher).to receive(:deprecate_text_regexp).exactly(2).times
66
66
 
67
67
  expect(matcher.match(elements, values_to_match, :all)).to eq [elements[1]]
68
68
  end
@@ -95,15 +95,6 @@ describe Watir::Locators::Element::SelectorBuilder do
95
95
  expect(selector_builder.build(selector)).to eq built
96
96
  end
97
97
 
98
- it 'values with spaces' do
99
- selector = {class_name: 'multiple classes here'}
100
- built = {xpath: ".//*[contains(concat(' ', @class, ' '), ' multiple classes here ')]"}
101
-
102
- expect {
103
- expect(selector_builder.build(selector)).to eq built
104
- }.to have_deprecated_class_array
105
- end
106
-
107
98
  it 'single String concatenates' do
108
99
  selector = {class: 'user'}
109
100
  built = {xpath: ".//*[contains(concat(' ', @class, ' '), ' user ')]"}
@@ -281,13 +272,11 @@ describe Watir::Locators::Element::SelectorBuilder do
281
272
  expect(selector_builder.build(selector)).to eq built
282
273
  end
283
274
 
284
- it 'with caption attribute' do
285
- selector = {caption: 'Add user'}
286
- built = {xpath: ".//*[normalize-space()='Add user']"}
275
+ it 'Regexp uses contains normalize space' do
276
+ selector = {text: /Add/}
277
+ built = {xpath: ".//*[contains(normalize-space(), 'Add')]"}
287
278
 
288
- expect {
289
- expect(selector_builder.build(selector)).to eq built
290
- }.to have_deprecated_caption
279
+ expect(selector_builder.build(selector)).to eq built
291
280
  end
292
281
 
293
282
  it 'raises exception when text is not a String or Regexp' do
@@ -346,7 +335,8 @@ describe Watir::Locators::Element::SelectorBuilder do
346
335
 
347
336
  it 'returns a label_element if complex' do
348
337
  selector = {label: /Ca|rs/}
349
- built = {xpath: './/*', label_element: /Ca|rs/}
338
+ xpath = './/*[@id=//label[normalize-space()]/@for or parent::label[normalize-space()]]'
339
+ built = {xpath: xpath, label_element: /Ca|rs/}
350
340
 
351
341
  expect(selector_builder.build(selector)).to eq built
352
342
  end
@@ -628,13 +618,6 @@ describe Watir::Locators::Element::SelectorBuilder do
628
618
  expect(selector_builder.build(selector)).to eq built
629
619
  end
630
620
 
631
- it 'text with any Regexp' do
632
- selector = {text: /Add/}
633
- built = {xpath: './/*', text: /Add/}
634
-
635
- expect(selector_builder.build(selector)).to eq built
636
- end
637
-
638
621
  it 'visible' do
639
622
  selector = {tag_name: 'div', visible: true}
640
623
  built = {xpath: ".//*[local-name()='div']", visible: true}
@@ -156,21 +156,20 @@ describe Watir::Locators::TextField::SelectorBuilder do
156
156
  expect(selector_builder.build(selector)).to eq built
157
157
  end
158
158
 
159
- # TODO: Can use contains once remove :text_regexp deprecation
160
- xit 'using simple Regexp' do
159
+ it 'using simple Regexp' do
161
160
  selector = {label: /First/}
162
161
  built = {xpath: ".//*[local-name()='input'][not(@type) or (#{negative_types})]" \
163
- "[@id=//label[contains(text(), 'First')]/@for or parent::label[contains(text(), 'First')]]"}
162
+ "[@id=//label[contains(normalize-space(), 'First')]/@for or parent::label[contains(normalize-space(), 'First')]]"}
164
163
 
165
164
  expect(selector_builder.build(selector)).to eq built
166
165
  end
167
166
 
168
- # TODO: Can use contains once remove :text_regexp deprecation
169
- xit 'using complex Regexp' do
167
+ it 'using complex Regexp' do
170
168
  selector = {label: /([qa])st? name/}
171
169
  built = {xpath: ".//*[local-name()='input'][not(@type) or (#{negative_types})]" \
172
- "[@id=//label[contains(text(), 's') and contains(text(), ' name')]/@for or " \
173
- "parent::label[contains(text(), 's') and contains(text(), ' name')]]", label_element: /([qa])st? name/}
170
+ "[@id=//label[contains(normalize-space(), 's') and contains(normalize-space(), ' name')]/@for or " \
171
+ "parent::label[contains(normalize-space(), 's') and contains(normalize-space(), ' name')]]",
172
+ label_element: /([qa])st? name/}
174
173
 
175
174
  expect(selector_builder.build(selector)).to eq built
176
175
  end
@@ -9,12 +9,10 @@ describe 'Alert API' do
9
9
  browser.alert.ok if browser.alert.exists?
10
10
  end
11
11
 
12
- compliant_on :relaxed_locate do
13
- context 'Relaxed Waits' do
14
- context 'when acting on an alert' do
15
- it 'raises exception after timing out' do
16
- expect { browser.alert.text }.to wait_and_raise_unknown_object_exception
17
- end
12
+ context 'Waits' do
13
+ context 'when acting on an alert' do
14
+ it 'raises exception after timing out' do
15
+ expect { browser.alert.text }.to wait_and_raise_unknown_object_exception
18
16
  end
19
17
  end
20
18
  end
@@ -53,21 +51,6 @@ describe 'Alert API' do
53
51
  expect(browser.alert).to_not exist
54
52
  end
55
53
  end
56
-
57
- not_compliant_on :relaxed_locate do
58
- describe 'wait_until_present' do
59
- it 'waits until alert is present and goes on' do
60
- browser.button(id: 'timeout-alert').click
61
- browser.alert.wait_until_present.ok
62
-
63
- expect(browser.alert).to_not exist
64
- end
65
-
66
- it 'raises error if alert is not present after timeout' do
67
- expect { browser.alert.wait_until_present.ok }.to raise_timeout_exception
68
- end
69
- end
70
- end
71
54
  end
72
55
 
73
56
  context 'confirm' do
@@ -75,7 +75,7 @@ describe 'Browser' do
75
75
  bug 'Capitalization issue', :safari do
76
76
  describe '#name' do
77
77
  it 'returns browser name' do
78
- expect(browser.name).to eq(WatirSpec.implementation.browser_args.first)
78
+ expect(browser.name).to eq(WatirSpec.implementation.browser_name)
79
79
  end
80
80
  end
81
81
  end
@@ -519,7 +519,7 @@ describe 'Browser' do
519
519
  browser.close
520
520
  @opts = WatirSpec.implementation.browser_args.last
521
521
 
522
- @opts[:page_load_strategy] = 'none'
522
+ @opts[:options] = {page_load_strategy: :none}
523
523
  browser = WatirSpec.new_browser
524
524
 
525
525
  start_time = Time.now
@@ -93,7 +93,7 @@ describe 'Browser#cookies' do
93
93
  expect((cookie[:expires]).to_i).to be_within(2).of(expires.to_i)
94
94
  end
95
95
 
96
- bug 'https://bugs.chromium.org/p/chromedriver/issues/detail?id=2727', :chrome, :safari do
96
+ bug 'https://bugs.chromium.org/p/chromedriver/issues/detail?id=2727', :chrome, :safari, :edge do
97
97
  it 'adds a cookie with security' do
98
98
  browser.goto set_cookie_url
99
99
 
@@ -41,16 +41,6 @@ describe 'Button' do
41
41
  expect(browser.button(value: /Button 4 With Child Text/)).to exist
42
42
  end
43
43
 
44
- it 'returns true if the button exists (how = :caption)' do
45
- expect {
46
- expect(browser.button(caption: 'Button 2')).to exist
47
- }.to have_deprecated_caption
48
-
49
- expect {
50
- expect(browser.button(caption: /Button 2/)).to exist
51
- }.to have_deprecated_caption
52
- end
53
-
54
44
  it 'returns the first button if given no args' do
55
45
  expect(browser.button).to exist
56
46
  end
@@ -26,29 +26,17 @@ describe 'CheckBox' do
26
26
  expect(browser.checkbox(xpath: "//input[@id='new_user_interests_books']")).to exist
27
27
  end
28
28
 
29
- not_compliant_on :watigiri do
30
- it 'handles text_regexp deprecations for label locators' do
31
- expect {
32
- expect(browser.checkbox(label: /some visible/)).to exist
33
- }.to_not have_deprecated_text_regexp
34
-
35
- expect {
36
- expect(browser.checkbox(label: /some (visible|Jeff)/)).to exist
37
- }.to_not have_deprecated_text_regexp
38
-
39
- expect {
40
- expect(browser.checkbox(label: /this will not match/)).to exist
41
- }.to_not have_deprecated_text_regexp
42
- end
43
-
44
- bug 'Safari is not filtering out hidden text', :safari do
45
- it 'handles text_regexp deprecation in spite of hidden text' do
46
- expect(browser.checkbox(label: /some visible some hidden/)).to_not exist
29
+ # TODO: More of this for text & labels somewhere central
30
+ it 'handles text_regexp deprecations for label locators' do
31
+ expect(browser.checkbox(label: /some visible/)).to exist
32
+ expect(browser.checkbox(label: /some (visible|Jeff)/)).to exist
33
+ expect(browser.checkbox(label: /none visible/)).to exist
34
+ expect(browser.checkbox(label: /this will not match/)).to_not exist
35
+ end
47
36
 
48
- expect {
49
- expect(browser.checkbox(label: /some visible$/)).to exist
50
- }.to have_deprecated_text_regexp
51
- end
37
+ bug 'Safari is not filtering out hidden text', :safari do
38
+ it 'handles text_regexp deprecation in spite of hidden text' do
39
+ expect(browser.checkbox(label: /some visible some hidden/)).to exist
52
40
  end
53
41
  end
54
42