rspec-html 0.2.13 → 0.2.15

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: 5b32fbdddde32e9e09c268a609b9491a616442c4817c729e530a57085d908027
4
- data.tar.gz: d38316dc4ba034dc06d15569ce0865fc8e342db728d4f3fbfc19fb27331a35db
3
+ metadata.gz: 8f365aa23d4ca954b964195b0d47f929a99b71fc2b976407ca9d225f70c5ea4c
4
+ data.tar.gz: 1f3333b370b7e03e205eeabd8dab11050137652d4267ca14bfbff8098920d4d2
5
5
  SHA512:
6
- metadata.gz: 2b5d891c6b6088337c89e9d5db30a2055124416d602804390d14e1d6a7774ea726b96ffe958977208f4204efaf1a4845801ee188c9be83d2bf275d487b72a483
7
- data.tar.gz: 11ede37a337b267e453b4c105645f831f1996f590f5380f6d282fb705555c90a92e0c2af8ef43472bbcff3bd734df27e9548f6450616296f61e9e11f0827ecaf
6
+ metadata.gz: ff59e58090b970db24849dc4c715ff3e0748c364bbbc11cdfd9fa8a078cb938aea9bebe329e0c8e1c1a4a943bbf2962bff96ffb23c353381b6cda864f98b770a
7
+ data.tar.gz: 26291ba3e7932df4ca2ef3cb9bbf52bbd8b89daeb8d90cd2e133290534e97ee9673bc766c9fc0d81c46b21f7f75dbb349bfdf017ee1e29de27e4cfc1e51126ec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-html (0.2.12)
4
+ rspec-html (0.2.15)
5
5
  nokogiri (~> 1.10)
6
6
  rspec (~> 3.0)
7
7
 
@@ -14,13 +14,15 @@ GEM
14
14
  diff-lcs (1.5.0)
15
15
  i18n (1.10.0)
16
16
  concurrent-ruby (~> 1.0)
17
- nokogiri (1.13.6-x86_64-linux)
17
+ mini_portile2 (2.8.1)
18
+ nokogiri (1.13.10)
19
+ mini_portile2 (~> 2.8.0)
18
20
  racc (~> 1.4)
19
21
  paint (2.2.1)
20
22
  parallel (1.22.1)
21
23
  parser (3.1.2.0)
22
24
  ast (~> 2.4.1)
23
- racc (1.6.0)
25
+ racc (1.6.2)
24
26
  rainbow (3.1.1)
25
27
  rake (13.0.6)
26
28
  regexp_parser (2.3.1)
@@ -37,7 +39,7 @@ GEM
37
39
  rspec-its (1.3.0)
38
40
  rspec-core (>= 3.0.0)
39
41
  rspec-expectations (>= 3.0.0)
40
- rspec-mocks (3.11.1)
42
+ rspec-mocks (3.11.2)
41
43
  diff-lcs (>= 1.2.0, < 2.0)
42
44
  rspec-support (~> 3.11.0)
43
45
  rspec-support (3.11.0)
data/README.md CHANGED
@@ -59,6 +59,11 @@ To select an element matching certain attributes pass a hash to any of the chain
59
59
  expect(document.body.div(id: 'my-div').span(align: 'left')).to contain_text 'some text'
60
60
  ```
61
61
 
62
+ Special attributes like `checked` can be found using the `#attributes` method:
63
+ ```ruby
64
+ expect(document.input(type: 'checkbox', name: 'my-name')).attributes).to include 'checked'
65
+ ```
66
+
62
67
  #### Class Matching
63
68
  _CSS_ classes are treated as a special case: to select an element matching a set of classes pass the `class` parameter:
64
69
  ```ruby
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module HTML
5
- VERSION = '0.2.13'
5
+ VERSION = '0.2.15'
6
6
  end
7
7
  end
@@ -9,7 +9,7 @@ module RSpecHTML
9
9
 
10
10
  def_delegators :@search,
11
11
  :has_css?, :has_xpath?, :include?,
12
- :siblings, :text, :truncated_text,
12
+ :siblings, :text, :truncated_text, :attributes,
13
13
  :size, :length, :[],
14
14
  :css, :xpath
15
15
 
@@ -9,6 +9,7 @@ module RSpecHTML
9
9
  diffable
10
10
 
11
11
  def match(actual)
12
+ raise_argument_error unless actual.is_a?(RSpecHTML::Element)
12
13
  @rspec_actual = actual&.text
13
14
  return regexp_match?(actual) || regexp_siblings_match?(actual) if @expected.is_a?(Regexp)
14
15
 
@@ -32,6 +33,10 @@ module RSpecHTML
32
33
  def string_siblings_match?(actual)
33
34
  actual.siblings.any? { |sibling| (sibling&.text || '').include?(@expected.to_s) }
34
35
  end
36
+
37
+ def raise_argument_error
38
+ raise ArgumentError, 'Expected RSpecHTML::Element with `match_text` matcher.'
39
+ end
35
40
  end
36
41
  end
37
42
  end
@@ -11,6 +11,10 @@ module RSpecHTML
11
11
  @siblings = siblings
12
12
  end
13
13
 
14
+ def to_s
15
+ @element&.to_s
16
+ end
17
+
14
18
  def include?(val)
15
19
  text.include?(val)
16
20
  end
@@ -56,6 +60,10 @@ module RSpecHTML
56
60
  "#{text[0..max]}...#{text[-max..-1]}"
57
61
  end
58
62
 
63
+ def attributes
64
+ @element&.attributes&.to_h { |key, val| [key.to_sym, val.to_s] } || {}
65
+ end
66
+
59
67
  def size
60
68
  return @element.size if @element.respond_to?(:size)
61
69
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-html
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Farrell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-13 00:00:00.000000000 Z
11
+ date: 2023-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri