prism_checker 0.0.3 → 1.0.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 +4 -4
- data/README.md +12 -15
- data/lib/prism_checker/check_dispatcher.rb +43 -70
- data/lib/prism_checker/checker.rb +4 -10
- data/lib/prism_checker/element_wrapper.rb +0 -6
- data/lib/prism_checker/expectation_classifier.rb +4 -12
- data/lib/prism_checker/item_checker/array.rb +9 -0
- data/lib/prism_checker/item_checker/checkbox.rb +1 -1
- data/lib/prism_checker/item_checker/element.rb +3 -2
- data/lib/prism_checker/item_checker/elements.rb +4 -2
- data/lib/prism_checker/item_checker/item_check/array.rb +17 -0
- data/lib/prism_checker/item_classifier.rb +4 -12
- data/lib/prism_checker/node/base.rb +1 -1
- metadata +22 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85257e035e4a88514ae52cc74f626c3773b28a3e79af092dfe28655285af022f
|
4
|
+
data.tar.gz: cf8a7167976cda2f9c20dfcefce982da0a95b664d1c459483275701583ecf01b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20f7f466e32972c19d7b828cae40de07c8d2f6462aac78bb891e744d89109cfefae86a71b06ded90a47f803267053bcd7c62c095bf7e86aad57b916b53f96a99
|
7
|
+
data.tar.gz: 4fbcb5350cc2bcde2a8877757c4afdc4b17fb367da82e3ee95e68c00c1de5b7b3e4b324919792a87ee20fa60bb99b24a71392a45cb2db9ac994e5337076e5cc2
|
data/README.md
CHANGED
@@ -4,14 +4,15 @@
|
|
4
4
|
|
5
5
|
## Overview
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
PrismChecker is an extension for rspec and minitest, built on top of the [SitePrism](https://github.com/site-prism/site_prism)
|
8
|
+
gem and using its page object model.
|
9
|
+
It allows you to write short, easy-to-read browser tests with clear error messages
|
9
10
|
|
10
|
-
|
11
|
+
Let's assume your application has the following shop cart:
|
11
12
|
|
12
13
|

|
13
14
|
|
14
|
-
Corresponding SitePrism
|
15
|
+
Corresponding SitePrism PDO::
|
15
16
|
|
16
17
|
```ruby
|
17
18
|
class Cart < SitePrism::Page
|
@@ -107,9 +108,6 @@ In case of errors, an easy-to-read message will be displayed:
|
|
107
108
|
|
108
109
|

|
109
110
|
|
110
|
-
**Note.**
|
111
|
-
_All examples are for rsepc, for mintest it will be the same, but instead of expect(page).be_like(expectation) it will be assert_page_like(page, expectation)_
|
112
|
-
|
113
111
|
## Install
|
114
112
|
To install PrismChecker:
|
115
113
|
|
@@ -148,7 +146,7 @@ end
|
|
148
146
|
```
|
149
147
|
|
150
148
|
|
151
|
-
####
|
149
|
+
#### Text check
|
152
150
|
|
153
151
|
```ruby
|
154
152
|
@page = Cart.new
|
@@ -158,11 +156,11 @@ expect(page).to be_like('Shopping Cart')
|
|
158
156
|
|
159
157
|
# Same as
|
160
158
|
# expect(page.loaded?).to eq(true)
|
161
|
-
# expect(page).to match('Shopping Cart')
|
159
|
+
# expect(page.text).to match('Shopping Cart')
|
162
160
|
```
|
163
161
|
|
164
162
|
|
165
|
-
####
|
163
|
+
#### Element and section check
|
166
164
|
|
167
165
|
```ruby
|
168
166
|
@page = Cart.new
|
@@ -188,7 +186,7 @@ expect(page).to be_like(
|
|
188
186
|
```
|
189
187
|
|
190
188
|
|
191
|
-
####
|
189
|
+
#### Element check
|
192
190
|
|
193
191
|
```ruby
|
194
192
|
@page = Cart.new
|
@@ -217,7 +215,7 @@ expect(page).to be_like(header: 'Shopping Cart')
|
|
217
215
|
```
|
218
216
|
|
219
217
|
|
220
|
-
####
|
218
|
+
#### Section check
|
221
219
|
|
222
220
|
```ruby
|
223
221
|
expect(page.checkout).to be_like(
|
@@ -250,7 +248,7 @@ expect(page).to be_like(
|
|
250
248
|
```
|
251
249
|
|
252
250
|
|
253
|
-
####
|
251
|
+
#### Sections check
|
254
252
|
|
255
253
|
```ruby
|
256
254
|
expect(page).to be_like(
|
@@ -305,7 +303,7 @@ expect(page).to be_like(cart_items: [{name: 'Cup'}, {name: 'Cap'}]) # Ok
|
|
305
303
|
```
|
306
304
|
|
307
305
|
|
308
|
-
####
|
306
|
+
#### Elements check
|
309
307
|
|
310
308
|
```ruby
|
311
309
|
expect(page).to be_like(
|
@@ -660,7 +658,6 @@ When the comparison method is :inclusion, and it is necessary to compare with an
|
|
660
658
|
expect(page.element_without_text).to be_like(:empty)
|
661
659
|
|
662
660
|
# Same as
|
663
|
-
# expect(page.element_without_text.visible?).to eq(true)
|
664
661
|
# expect(page.element_without_text.text.empty?).to eq(true)
|
665
662
|
```
|
666
663
|
or
|
@@ -17,45 +17,44 @@ require_relative 'node/bad_expectation'
|
|
17
17
|
|
18
18
|
module PrismChecker
|
19
19
|
class CheckDispatcher
|
20
|
-
|
20
|
+
COMMON_ELEMENT_CHECKERS = {
|
21
|
+
string: [ItemChecker::Element::Visible, ItemChecker::Element::String],
|
22
|
+
empty: [ItemChecker::Element::Empty],
|
23
|
+
regexp: [ItemChecker::Element::Visible, ItemChecker::Element::Regexp],
|
24
|
+
hash: [ItemChecker::Element::Visible],
|
25
|
+
visible: [ItemChecker::Element::Visible],
|
26
|
+
invisible: [ItemChecker::Element::Invisible]
|
27
|
+
}.freeze
|
28
|
+
|
29
|
+
COMMON_ELEMENTS_CHECKERS = {
|
30
|
+
string: [ItemChecker::Elements::String],
|
31
|
+
empty: [ItemChecker::Elements::Empty],
|
32
|
+
regexp: [ItemChecker::Elements::Regexp],
|
33
|
+
array: [ItemChecker::Elements::Array],
|
34
|
+
number: [ItemChecker::Elements::Number]
|
35
|
+
}.freeze
|
36
|
+
|
37
|
+
COMMON_INPUT_CHECKERS = {
|
38
|
+
string: [ItemChecker::Element::Visible, ItemChecker::Input::String],
|
39
|
+
empty: [ItemChecker::Element::Visible, ItemChecker::Input::Empty],
|
40
|
+
regexp: [ItemChecker::Element::Visible, ItemChecker::Input::Regexp],
|
41
|
+
hash: [ItemChecker::Element::Visible],
|
42
|
+
visible: [ItemChecker::Element::Visible],
|
43
|
+
invisible: [ItemChecker::Element::Invisible]
|
44
|
+
}.freeze
|
45
|
+
|
46
|
+
CHECK_MAP = {
|
21
47
|
page: {
|
22
48
|
string: [ItemChecker::Page::Loaded, ItemChecker::Page::String],
|
23
49
|
regexp: [ItemChecker::Page::Loaded, ItemChecker::Page::Regexp],
|
24
50
|
hash: [ItemChecker::Page::Loaded]
|
25
51
|
},
|
26
52
|
|
27
|
-
section:
|
28
|
-
|
29
|
-
empty: [ItemChecker::Element::Visible, ItemChecker::Element::Empty],
|
30
|
-
regexp: [ItemChecker::Element::Visible, ItemChecker::Element::Regexp],
|
31
|
-
hash: [ItemChecker::Element::Visible],
|
32
|
-
visible: [ItemChecker::Element::Visible],
|
33
|
-
invisible: [ItemChecker::Element::Invisible]
|
34
|
-
},
|
53
|
+
section: COMMON_ELEMENT_CHECKERS,
|
54
|
+
element: COMMON_ELEMENT_CHECKERS,
|
35
55
|
|
36
|
-
sections:
|
37
|
-
|
38
|
-
regexp: [ItemChecker::Elements::Regexp],
|
39
|
-
array: [ItemChecker::Elements::Array],
|
40
|
-
number: [ItemChecker::Elements::Number]
|
41
|
-
},
|
42
|
-
|
43
|
-
element: {
|
44
|
-
string: [ItemChecker::Element::Visible, ItemChecker::Element::String],
|
45
|
-
empty: [ItemChecker::Element::Visible, ItemChecker::Element::Empty],
|
46
|
-
regexp: [ItemChecker::Element::Visible, ItemChecker::Element::Regexp],
|
47
|
-
hash: [ItemChecker::Element::Visible],
|
48
|
-
visible: [ItemChecker::Element::Visible],
|
49
|
-
invisible: [ItemChecker::Element::Invisible]
|
50
|
-
},
|
51
|
-
|
52
|
-
elements: {
|
53
|
-
string: [ItemChecker::Elements::String],
|
54
|
-
empty: [ItemChecker::Elements::Empty],
|
55
|
-
regexp: [ItemChecker::Elements::Regexp],
|
56
|
-
array: [ItemChecker::Elements::Array],
|
57
|
-
number: [ItemChecker::Elements::Number]
|
58
|
-
},
|
56
|
+
sections: COMMON_ELEMENTS_CHECKERS,
|
57
|
+
elements: COMMON_ELEMENTS_CHECKERS,
|
59
58
|
|
60
59
|
image: {
|
61
60
|
string: [ItemChecker::Element::Visible, ItemChecker::Image::String],
|
@@ -65,43 +64,20 @@ module PrismChecker
|
|
65
64
|
invisible: [ItemChecker::Element::Invisible]
|
66
65
|
},
|
67
66
|
|
68
|
-
input:
|
69
|
-
|
70
|
-
|
71
|
-
regexp: [ItemChecker::Element::Visible, ItemChecker::Input::Regexp],
|
72
|
-
hash: [ItemChecker::Element::Visible],
|
73
|
-
visible: [ItemChecker::Element::Visible],
|
74
|
-
invisible: [ItemChecker::Element::Invisible]
|
75
|
-
},
|
76
|
-
|
77
|
-
textarea: {
|
78
|
-
string: [ItemChecker::Element::Visible, ItemChecker::Textarea::String],
|
79
|
-
empty: [ItemChecker::Element::Visible, ItemChecker::Textarea::Empty],
|
80
|
-
regexp: [ItemChecker::Element::Visible, ItemChecker::Textarea::Regexp],
|
81
|
-
hash: [ItemChecker::Element::Visible],
|
82
|
-
visible: [ItemChecker::Element::Visible],
|
83
|
-
invisible: [ItemChecker::Element::Invisible]
|
84
|
-
},
|
67
|
+
input: COMMON_INPUT_CHECKERS,
|
68
|
+
textarea: COMMON_INPUT_CHECKERS,
|
69
|
+
select: COMMON_INPUT_CHECKERS,
|
85
70
|
|
86
|
-
|
71
|
+
radio: {
|
87
72
|
string: [ItemChecker::Element::Visible, ItemChecker::Input::String],
|
88
|
-
empty: [ItemChecker::Element::Visible, ItemChecker::Input::Empty],
|
89
73
|
regexp: [ItemChecker::Element::Visible, ItemChecker::Input::Regexp],
|
90
|
-
hash: [ItemChecker::Element::Visible],
|
91
|
-
visible: [ItemChecker::Element::Visible],
|
92
|
-
invisible: [ItemChecker::Element::Invisible]
|
93
|
-
},
|
94
|
-
|
95
|
-
checkbox: {
|
96
74
|
hash: [ItemChecker::Element::Visible],
|
97
75
|
visible: [ItemChecker::Element::Visible],
|
98
76
|
invisible: [ItemChecker::Element::Invisible],
|
99
77
|
boolean: [ItemChecker::Element::Visible, ItemChecker::Checkbox::Boolean]
|
100
78
|
},
|
101
79
|
|
102
|
-
|
103
|
-
string: [ItemChecker::Element::Visible, ItemChecker::Input::String],
|
104
|
-
regexp: [ItemChecker::Element::Visible, ItemChecker::Input::Regexp],
|
80
|
+
checkbox: {
|
105
81
|
hash: [ItemChecker::Element::Visible],
|
106
82
|
visible: [ItemChecker::Element::Visible],
|
107
83
|
invisible: [ItemChecker::Element::Invisible],
|
@@ -109,8 +85,9 @@ module PrismChecker
|
|
109
85
|
},
|
110
86
|
|
111
87
|
array: {
|
88
|
+
array: [ItemChecker::Array::Array],
|
112
89
|
string: [ItemChecker::Array::String],
|
113
|
-
empty: [ItemChecker::Array::
|
90
|
+
empty: [ItemChecker::Array::Empty],
|
114
91
|
regexp: [ItemChecker::Array::Regexp],
|
115
92
|
number: [ItemChecker::Elements::Number]
|
116
93
|
},
|
@@ -119,8 +96,9 @@ module PrismChecker
|
|
119
96
|
boolean: [ItemChecker::Any::Any]
|
120
97
|
},
|
121
98
|
|
122
|
-
|
123
|
-
number: [ItemChecker::Any::Any]
|
99
|
+
other: {
|
100
|
+
number: [ItemChecker::Any::Any],
|
101
|
+
other: [ItemChecker::Any::Any]
|
124
102
|
},
|
125
103
|
|
126
104
|
string: {
|
@@ -133,12 +111,12 @@ module PrismChecker
|
|
133
111
|
string: [ItemChecker::Nil::String],
|
134
112
|
regexp: [ItemChecker::Nil::Regexp]
|
135
113
|
}
|
136
|
-
}
|
114
|
+
}.freeze
|
137
115
|
|
138
116
|
def self.checkers(_node, element, expectation, item_type)
|
139
117
|
expectation_type = ExpectationClassifier.classify(expectation)
|
140
118
|
|
141
|
-
element_expectations =
|
119
|
+
element_expectations = CHECK_MAP[item_type]
|
142
120
|
|
143
121
|
raise_bad_element(element) unless element_expectations
|
144
122
|
|
@@ -159,10 +137,5 @@ module PrismChecker
|
|
159
137
|
error = "Don't know how to compare #{element_class} with #{expectation.class.name}"
|
160
138
|
raise Node::BadExpectation, error
|
161
139
|
end
|
162
|
-
|
163
|
-
def self.add(element_type, check_type, checks)
|
164
|
-
@check_map[element_type] ||= {}
|
165
|
-
@check_map[element_type][check_type] = checks
|
166
|
-
end
|
167
140
|
end
|
168
141
|
end
|
@@ -19,24 +19,18 @@ module PrismChecker
|
|
19
19
|
def check(item, expectation)
|
20
20
|
prepare(item, expectation)
|
21
21
|
|
22
|
+
# rubocop:disable Style/SymbolProc
|
23
|
+
# rubocop is wrong
|
22
24
|
walk_through do |node|
|
23
25
|
node.check
|
24
26
|
end
|
27
|
+
# rubocop:enable Style/SymbolProc
|
25
28
|
|
26
29
|
@result = true
|
27
30
|
rescue Node::CheckFail
|
28
|
-
# puts report
|
29
31
|
@result = false
|
30
|
-
# rescue Node::BadExpectation => e
|
31
|
-
# # raise
|
32
|
-
# raise e.class, report + "\n" + e.message
|
33
32
|
rescue StandardError => e
|
34
|
-
|
35
|
-
# puts e.class
|
36
|
-
# puts e.message
|
37
|
-
# pp e.backtrace
|
38
|
-
# puts '---------------------'
|
39
|
-
raise e.class, report + "\n" + e.message
|
33
|
+
raise e.class, "#{report}\n#{e.message}"
|
40
34
|
end
|
41
35
|
|
42
36
|
def report
|
@@ -37,15 +37,9 @@ module PrismChecker
|
|
37
37
|
return @element.send(method, *args)
|
38
38
|
end
|
39
39
|
|
40
|
-
# if (ItemClassifier.element_checkbox?(@element) || ItemClassifier.element_radio?(@element)) && method == :checked
|
41
|
-
# return @element.checked?
|
42
|
-
# end
|
43
|
-
|
44
40
|
ret = @element[method]
|
45
41
|
|
46
42
|
if ret.nil? && !method.start_with?('data-')
|
47
|
-
# return '' if method.start_with?('data-')
|
48
|
-
|
49
43
|
raise NoMethodError, "unknown attribute '#{method}'"
|
50
44
|
end
|
51
45
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module PrismChecker
|
4
4
|
class ExpectationClassifier
|
5
|
-
|
5
|
+
EXPECTATIONS_MAP = [
|
6
6
|
%i[invisible invisible?],
|
7
7
|
%i[visible visible?],
|
8
8
|
%i[empty empty?],
|
@@ -12,16 +12,12 @@ module PrismChecker
|
|
12
12
|
%i[hash hash?],
|
13
13
|
%i[boolean boolean?],
|
14
14
|
%i[number number?]
|
15
|
-
]
|
15
|
+
].freeze
|
16
16
|
|
17
17
|
def self.classify(expectation)
|
18
|
-
|
18
|
+
EXPECTATIONS_MAP.each do |data|
|
19
19
|
type, probe = data
|
20
|
-
if probe
|
21
|
-
return type if send(probe, expectation)
|
22
|
-
elsif probe.call(expectation)
|
23
|
-
return type
|
24
|
-
end
|
20
|
+
return type if send(probe, expectation)
|
25
21
|
end
|
26
22
|
|
27
23
|
:other
|
@@ -62,9 +58,5 @@ module PrismChecker
|
|
62
58
|
def self.number?(expectation)
|
63
59
|
expectation.is_a?(Integer)
|
64
60
|
end
|
65
|
-
|
66
|
-
def self.add(type, probe, position = 0)
|
67
|
-
@expectations_map.insert(position, [type, probe])
|
68
|
-
end
|
69
61
|
end
|
70
62
|
end
|
@@ -3,11 +3,20 @@
|
|
3
3
|
require_relative 'item_check/string'
|
4
4
|
require_relative 'item_check/regexp'
|
5
5
|
require_relative 'item_check/empty_array'
|
6
|
+
require_relative 'item_check/array'
|
6
7
|
require_relative 'item_value/array'
|
7
8
|
|
8
9
|
module PrismChecker
|
9
10
|
module ItemChecker
|
10
11
|
module Array
|
12
|
+
class Array
|
13
|
+
def self.value(elements)
|
14
|
+
elements
|
15
|
+
end
|
16
|
+
|
17
|
+
extend ItemCheck::Array
|
18
|
+
end
|
19
|
+
|
11
20
|
class String
|
12
21
|
extend ItemValue::Array
|
13
22
|
extend ItemCheck::String
|
@@ -8,7 +8,6 @@ require_relative 'item_check/empty'
|
|
8
8
|
module PrismChecker
|
9
9
|
module ItemChecker
|
10
10
|
module Element
|
11
|
-
|
12
11
|
class String
|
13
12
|
extend ItemValue::Element
|
14
13
|
extend ItemCheck::String
|
@@ -25,7 +24,9 @@ module PrismChecker
|
|
25
24
|
end
|
26
25
|
|
27
26
|
class Visible
|
28
|
-
def self.value(
|
27
|
+
def self.value(element)
|
28
|
+
element
|
29
|
+
end
|
29
30
|
|
30
31
|
def self.check(element, _value, _expectation)
|
31
32
|
element.visible?
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrismChecker
|
4
|
+
module ItemChecker
|
5
|
+
module ItemCheck
|
6
|
+
module Array
|
7
|
+
def check(_element, value, expectation)
|
8
|
+
value.size == expectation.size
|
9
|
+
end
|
10
|
+
|
11
|
+
def error_message(elements, _value, expectation)
|
12
|
+
"Wrong elements count\nActual: #{elements.size}\nExpected: #{expectation.size}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -5,7 +5,7 @@ require 'capybara'
|
|
5
5
|
|
6
6
|
module PrismChecker
|
7
7
|
class ItemClassifier
|
8
|
-
|
8
|
+
ELEMENTS_MAP = [
|
9
9
|
%i[checkbox element_checkbox?],
|
10
10
|
%i[radio element_radio?],
|
11
11
|
%i[input element_input?],
|
@@ -21,16 +21,12 @@ module PrismChecker
|
|
21
21
|
%i[string string?],
|
22
22
|
%i[boolean boolean?],
|
23
23
|
%i[nil element_nil?]
|
24
|
-
]
|
24
|
+
].freeze
|
25
25
|
|
26
26
|
def self.classify(element)
|
27
|
-
|
27
|
+
ELEMENTS_MAP.each do |data|
|
28
28
|
type, probe = data
|
29
|
-
if probe
|
30
|
-
return type if send(probe, element)
|
31
|
-
elsif probe.call(element)
|
32
|
-
return type
|
33
|
-
end
|
29
|
+
return type if send(probe, element)
|
34
30
|
end
|
35
31
|
|
36
32
|
:other
|
@@ -120,9 +116,5 @@ module PrismChecker
|
|
120
116
|
def self.element_nil?(element)
|
121
117
|
element.nil?
|
122
118
|
end
|
123
|
-
|
124
|
-
def self.add(type, probe, position = 0)
|
125
|
-
@elements_map.insert(position, [type, probe])
|
126
|
-
end
|
127
119
|
end
|
128
120
|
end
|
@@ -122,7 +122,7 @@ module PrismChecker
|
|
122
122
|
value = nil
|
123
123
|
checkers.each do |checker|
|
124
124
|
result = wait_until_true do
|
125
|
-
element = self.element if element.is_a? ::
|
125
|
+
element = self.element if element.is_a?(::Array) || element.is_a?(Capybara::Result)
|
126
126
|
|
127
127
|
value = checker.value(element)
|
128
128
|
checker.check(element, value, expectation)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prism_checker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ganglion-17
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: site_prism
|
@@ -16,16 +16,30 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.0
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.0
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: byebug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '11.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '11.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: dotenv
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - ">="
|
@@ -44,14 +58,14 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
61
|
+
version: '3.1'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
68
|
+
version: '3.1'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rubocop
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,36 +170,8 @@ dependencies:
|
|
156
170
|
- - "~>"
|
157
171
|
- !ruby/object:Gem::Version
|
158
172
|
version: '4.6'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: ruby-prof
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - ">="
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '0'
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '0'
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: dotenv
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - ">="
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '0'
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - ">="
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '0'
|
187
173
|
description: |
|
188
|
-
|
174
|
+
prism_checker is an extension for rspec and minitest, built on top of the site_prism gem and using its page object model.
|
189
175
|
It allows you to write short, easy-to-read browser tests with clear error messages
|
190
176
|
email:
|
191
177
|
- ganglion1717@gmail.com
|
@@ -210,6 +196,7 @@ files:
|
|
210
196
|
- lib/prism_checker/item_checker/elements.rb
|
211
197
|
- lib/prism_checker/item_checker/image.rb
|
212
198
|
- lib/prism_checker/item_checker/input.rb
|
199
|
+
- lib/prism_checker/item_checker/item_check/array.rb
|
213
200
|
- lib/prism_checker/item_checker/item_check/empty.rb
|
214
201
|
- lib/prism_checker/item_checker/item_check/empty_array.rb
|
215
202
|
- lib/prism_checker/item_checker/item_check/number.rb
|