watigiri 0.3.2 → 0.4.0

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
  SHA1:
3
- metadata.gz: acd708121fc8cb20c263c683acf3b021c396fc16
4
- data.tar.gz: ed2524285816a2add8b394598141115556ed7dc8
3
+ metadata.gz: 2fd0e4b0bff75232878fbfa396d89e6d8c6bafbc
4
+ data.tar.gz: 06ee3c3acf02723a8de7aca0b02e8f84422b56f5
5
5
  SHA512:
6
- metadata.gz: 42ca74e87402d2a77a9777795814f0e95cb731f8ee1bbad710b8d35703e590d9f2dee3b1e9c04b1ad06234821a0882cc96c699dde6587cb3bc383093e4847419
7
- data.tar.gz: 5a01f63348806558b179d4f2285ba2eddc3ed9298f3063d1b8790c9156bda4f9d5a427038488bbb1d2635a236f6da89492ca367aafaf2302c494462cbe111616
6
+ metadata.gz: 8f919b5c53a445536ef18177c5609bce92995072a32048268c82763f262aa25916184e4c9fc07ce1a5d800001cd5b4090a2347f4fabd4208915e266c5df821c1
7
+ data.tar.gz: 5dd9eb0bf66df384af9ff4430bc26e0e32e87b2ca07c372ad969b2d831fab0b2b92e7f071482dfe98a6113ed1d62bed1bb5c0b0fdddaba5a5d56e65400e3ceea
@@ -8,7 +8,7 @@ module Watigiri
8
8
  end
9
9
 
10
10
  def tag_name
11
- element.name
11
+ element.name.downcase
12
12
  end
13
13
  end
14
14
 
@@ -19,8 +19,13 @@ module Watigiri
19
19
  @regex = regex?
20
20
 
21
21
  return super unless @nokogiri || @regex
22
- command = @query_scope.is_a?(Watir::Browser) ? :html : :inner_html
23
- @query_scope.doc ||= Nokogiri::HTML(@query_scope.send(command)).tap { |d| d.css('script').remove }
22
+ @query_scope.doc ||= if @query_scope.is_a?(Watir::Browser)
23
+ Nokogiri::HTML(@query_scope.html).tap { |d| d.css('script').remove }
24
+ else
25
+ # This should be using `#fragment`, but can't because of
26
+ # https://github.com/sparklemotion/nokogiri/issues/572
27
+ Nokogiri::HTML(@query_scope.inner_html)
28
+ end
24
29
 
25
30
  element = using_watir(:first)
26
31
  return if element.nil?
@@ -63,11 +68,12 @@ module Watigiri
63
68
  def nokogiri_to_selenium(element)
64
69
  return element if element.is_a?(Selenium::WebDriver::Element)
65
70
  tag = element.tag_name
66
- index = @query_scope.doc.xpath("//#{tag}").find_index { |el| el == element.element }
71
+ index = @query_scope.doc.xpath(".//#{tag}").find_index { |el| el == element.element }
67
72
  Watir::Element.new(@query_scope, index: index, tag_name: tag).wd
68
73
  end
69
74
 
70
75
  def regex?
76
+ return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
71
77
  @selector.values.any? { |v| v.is_a?(Regexp) }
72
78
  end
73
79
  end
@@ -88,12 +94,22 @@ module Watigiri
88
94
  class Cell
89
95
  class Locator < Watir::Locators::Cell::Locator
90
96
  include LocatorHelpers
97
+
98
+ # Don't use for rows
99
+ def regex?
100
+ false
101
+ end
91
102
  end
92
103
  end
93
104
 
94
105
  class Row
95
106
  class Locator < Watir::Locators::Row::Locator
96
107
  include LocatorHelpers
108
+
109
+ # Don't use for rows
110
+ def regex?
111
+ false
112
+ end
97
113
  end
98
114
  end
99
115
 
@@ -102,6 +118,7 @@ module Watigiri
102
118
  include LocatorHelpers
103
119
 
104
120
  def regex?
121
+ return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
105
122
  @selector.any? { |k, v| v.is_a?(Regexp) && k != :value }
106
123
  end
107
124
  end
@@ -115,7 +132,7 @@ module Watigiri
115
132
  return super if element.is_a? Selenium::WebDriver::Element
116
133
  rx_selector = rx_selector.dup
117
134
 
118
- tag_name = element.name.downcase
135
+ tag_name = element.tag_name
119
136
 
120
137
  [:text, :value, :label].each do |key|
121
138
  if rx_selector.key?(key)
@@ -130,6 +147,7 @@ module Watigiri
130
147
  end
131
148
 
132
149
  def regex?
150
+ return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
133
151
  @selector.any? { |k, v| v.is_a?(Regexp) && k != :value }
134
152
  end
135
153
  end
data/watigiri.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "watigiri"
7
- spec.version = "0.3.2"
7
+ spec.version = "0.4.0"
8
8
  spec.authors = ["Titus Fortner"]
9
9
  spec.email = ["titusfortner@gmail.com"]
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watigiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Fortner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-11 00:00:00.000000000 Z
11
+ date: 2018-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler