watir 6.19.0 → 6.19.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 249f59d4a6bd6bff5ddd7e49d32e2cc5a3ecd887586de1a41d51aecc37c6946a
4
- data.tar.gz: 407024609aa1b7e0eb052ecbcc279ebdfcb6e486e326ee8f1dd0994b79f4be75
3
+ metadata.gz: c714ef62b6caccbf6f2885fd9ea9ece26d42c9b64f64642dadd445e35029da0c
4
+ data.tar.gz: 2621db569beaa32c36577da613a0c27e16a64ca45e286a37e1cd000c3bf46db1
5
5
  SHA512:
6
- metadata.gz: f89c38c9bd61bef959ebb41672e729be867ad7991530f6f432dddae7900db15c31dfd717d413cc500f5f2708a3ce500b3d9687091d603ca4e4acbfbbc5af20cc
7
- data.tar.gz: 34f9dc6a5e675c734c4a2e5e5c234695204b23ba887268f523c95d72f33a0b5b02c843fcd61033592c8e937b721d86bc80b790e9b06c4c9ca4d03f7b55df7357
6
+ metadata.gz: 510bf92bb5212caec7334540076448f43bf13e4fcef510a36c78188718a1e744094b7cfe6dad3b713f51a2cf36f9ad22d5dfbf5983406fdb0bddcf75fb9a3fff
7
+ data.tar.gz: 634cff1ed0f60d0d88f6596b377933b0ec6eda95dae9fd554352e4bb6c55ef2f8f7b791fd0b2abc8bcc39d3bc4e4a4f52429c7db6efae533fb1d8f0e45159159
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 6.19.1 (2021-03-17)
2
+
3
+ * Fix bug preventing using Selenium 4
4
+ * Fix bug preventing non-xml characters in attributes (#787)
5
+
1
6
  ### 6.19.0 (2021-03-12)
2
7
 
3
8
  * Create custom Watir HTTP Client
@@ -205,7 +205,7 @@ module Watir
205
205
  def lhs_for(key, downcase: false)
206
206
  case key
207
207
  when String
208
- "@#{key}"
208
+ process_string key
209
209
  when :tag_name
210
210
  'local-name()'
211
211
  when :href
@@ -215,7 +215,7 @@ module Watir
215
215
  when :contains_text
216
216
  'normalize-space()'
217
217
  when ::Symbol
218
- lhs = "@#{key.to_s.tr('_', '-')}"
218
+ lhs = process_string key.to_s.tr('_', '-')
219
219
  downcase ? XpathSupport.downcase(lhs) : lhs
220
220
  else
221
221
  raise LocatorException, "Unable to build XPath using #{key}:#{key.class}"
@@ -266,6 +266,14 @@ module Watir
266
266
 
267
267
  false
268
268
  end
269
+
270
+ def process_string(name)
271
+ if name =~ /^[a-zA-Z_:][a-zA-Z0-9_:.\-]*$/
272
+ "@#{name}"
273
+ else
274
+ "(attribute::*[local-name(.) = '#{name}'])"
275
+ end
276
+ end
269
277
  end
270
278
  end
271
279
  end
data/lib/watir/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Watir
2
- VERSION = '6.19.0'.freeze
2
+ VERSION = '6.19.1'.freeze
3
3
  end
@@ -8,5 +8,8 @@
8
8
  <body>
9
9
  <div id='single-quote'>single 'quotes'</div>
10
10
  <div id='double-quote'>double "quotes"</div>
11
+ <div underscored_attribute='true'>underscored attribute</div>
12
+ <div id='special' we{ird='foo'>attribute with non-standard XML characters</div>
13
+ <custom-tag id='custom_tag'>custom tag</custom-tag>
11
14
  </body>
12
15
  </html>
@@ -8,4 +8,14 @@ describe Watir::Browser do
8
8
  it 'finds elements with single quotes' do
9
9
  expect(browser.div(text: "single 'quotes'")).to exist
10
10
  end
11
+
12
+ it 'finds elements with non-standard character locators' do
13
+ expect(browser.div('we{ird' => 'foo')).to exist
14
+ expect(browser.div('we{ird': 'foo')).to exist
15
+ end
16
+
17
+ it 'finds element with underscored attribute' do
18
+ expect(browser.div('underscored_attribute' => 'true')).to exist
19
+ expect(browser.div('underscored_attribute' => true)).to exist
20
+ end
11
21
  end
@@ -103,6 +103,15 @@ describe Watir::Browser do
103
103
  end
104
104
 
105
105
  describe '#switch_window' do
106
+ it 'stays on the same window when matches single window' do
107
+ browser.switch_window
108
+ browser.window.close
109
+ browser.original_window.use
110
+
111
+ title = browser.title
112
+ expect { browser.window(title: title).use }.not_to raise_exception(TimeoutError)
113
+ end
114
+
106
115
  it 'switches to second window' do
107
116
  original_window = browser.window
108
117
  browser.switch_window
data/watir.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
26
26
  s.require_paths = ['lib']
27
27
 
28
- s.add_dependency 'selenium-webdriver', '= 3.142.7'
28
+ s.add_dependency 'selenium-webdriver', '>= 3.142.7'
29
29
  s.add_runtime_dependency 'regexp_parser', '>= 1.2', '< 3'
30
30
 
31
31
  s.add_development_dependency 'activesupport', '~> 4.0', '>= 4.1.11' # for pluralization during code generation
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.19.0
4
+ version: 6.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rodionov
@@ -10,20 +10,20 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-03-12 00:00:00.000000000 Z
13
+ date: 2021-03-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: selenium-webdriver
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '='
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
21
  version: 3.142.7
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - '='
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: 3.142.7
29
29
  - !ruby/object:Gem::Dependency