cucumber-cucumber-expressions 12.1.0 → 13.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/VERSION +1 -1
- data/cucumber-cucumber-expressions.gemspec +3 -3
- data/default.mk +10 -0
- data/lib/cucumber/cucumber_expressions/cucumber_expression.rb +3 -3
- data/lib/cucumber/cucumber_expressions/cucumber_expression_generator.rb +0 -4
- data/scripts/update-gemspec +1 -1
- data/spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb +14 -14
- data/spec/cucumber/cucumber_expressions/regular_expression_spec.rb +4 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abdf3cd3e3ef1625435edf7a0c7076c148deb20f311f3c1f25f02cd7b4f4085d
|
4
|
+
data.tar.gz: 545703ed396856e7775307a49746dc2fdb4a2bba7aa732d9960b90d83976a155
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 449a4b0ccc31d0398bea421da4cb5ff5f6be6daf437bd819a46e238c26c63989e18a32ed6e9e3fc71e099757e837bb04e9be1834b74852da39fc5b1b1581fe71
|
7
|
+
data.tar.gz: 699da85cd5fdd9851b021b9505da384c80047cf6b12d2b3b9abebf189199f4952db2331328cbed1d9bab9d1c69478f34e8a46f463fa8f951eecb364bc2444857
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
13.0.1
|
@@ -16,13 +16,13 @@ Gem::Specification.new do |s|
|
|
16
16
|
|
17
17
|
s.metadata = {
|
18
18
|
'bug_tracker_uri' => 'https://github.com/cucumber/cucumber/issues',
|
19
|
-
'changelog_uri' => 'https://github.com/cucumber/
|
19
|
+
'changelog_uri' => 'https://github.com/cucumber/common/blob/main/cucumber-expressions/CHANGELOG.md',
|
20
20
|
'documentation_uri' => 'https://cucumber.io/docs/cucumber/cucumber-expressions/',
|
21
21
|
'mailing_list_uri' => 'https://groups.google.com/forum/#!forum/cukes',
|
22
|
-
'source_code_uri' => 'https://github.com/cucumber/
|
22
|
+
'source_code_uri' => 'https://github.com/cucumber/common/blob/main/cucumber-expressions/ruby',
|
23
23
|
}
|
24
24
|
|
25
|
-
s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.
|
25
|
+
s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
26
26
|
s.add_development_dependency 'rspec', '~> 3.10', '>= 3.10.0'
|
27
27
|
|
28
28
|
s.rubygems_version = ">= 1.6.1"
|
data/default.mk
CHANGED
@@ -81,3 +81,13 @@ clean: clean-ruby
|
|
81
81
|
clean-ruby:
|
82
82
|
rm -rf .deps .linked .tested* Gemfile.lock *.gem acceptance
|
83
83
|
.PHONY: clean-ruby
|
84
|
+
|
85
|
+
### COMMON stuff for all platforms
|
86
|
+
|
87
|
+
BERP_VERSION = 1.3.0
|
88
|
+
BERP_GRAMMAR = gherkin.berp
|
89
|
+
|
90
|
+
define berp-generate-parser =
|
91
|
+
-! dotnet tool list --tool-path /usr/bin | grep "berp\s*$(BERP_VERSION)" && dotnet tool update Berp --version $(BERP_VERSION) --tool-path /usr/bin
|
92
|
+
berp -g $(BERP_GRAMMAR) -t $< -o $@ --noBOM
|
93
|
+
endef
|
@@ -105,17 +105,17 @@ module Cucumber
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def assert_not_empty(node, &raise_error)
|
108
|
-
text_nodes = node.nodes.
|
108
|
+
text_nodes = node.nodes.select { |astNode| NodeType::TEXT == astNode.type }
|
109
109
|
raise_error.call(node) if text_nodes.length == 0
|
110
110
|
end
|
111
111
|
|
112
112
|
def assert_no_parameters(node, &raise_error)
|
113
|
-
nodes = node.nodes.
|
113
|
+
nodes = node.nodes.select { |astNode| NodeType::PARAMETER == astNode.type }
|
114
114
|
raise_error.call(nodes[0]) if nodes.length > 0
|
115
115
|
end
|
116
116
|
|
117
117
|
def assert_no_optionals(node, &raise_error)
|
118
|
-
nodes = node.nodes.
|
118
|
+
nodes = node.nodes.select { |astNode| NodeType::OPTIONAL == astNode.type }
|
119
119
|
raise_error.call(nodes[0]) if nodes.length > 0
|
120
120
|
end
|
121
121
|
end
|
@@ -9,10 +9,6 @@ module Cucumber
|
|
9
9
|
@parameter_type_registry = parameter_type_registry
|
10
10
|
end
|
11
11
|
|
12
|
-
def generate_expression(text)
|
13
|
-
generate_expressions(text)[0]
|
14
|
-
end
|
15
|
-
|
16
12
|
def generate_expressions(text)
|
17
13
|
parameter_type_combinations = []
|
18
14
|
parameter_type_matchers = create_parameter_type_matchers(text)
|
data/scripts/update-gemspec
CHANGED
@@ -19,7 +19,7 @@ module Cucumber
|
|
19
19
|
### [generate-expression]
|
20
20
|
generator = CucumberExpressionGenerator.new(parameter_registry)
|
21
21
|
undefined_step_text = "I have 2 cucumbers and 1.5 tomato"
|
22
|
-
generated_expression = generator.
|
22
|
+
generated_expression = generator.generate_expressions(undefined_step_text)[0]
|
23
23
|
expect(generated_expression.source).to eq("I have {int} cucumbers and {float} tomato")
|
24
24
|
expect(generated_expression.parameter_types[1].type).to eq(Float)
|
25
25
|
### [generate-expression]
|
@@ -93,7 +93,7 @@ module Cucumber
|
|
93
93
|
end
|
94
94
|
|
95
95
|
it "exposes parameters in generated expression" do
|
96
|
-
expression = @generator.
|
96
|
+
expression = @generator.generate_expressions("I have 2 cukes and 1.5 euro")[0]
|
97
97
|
types = expression.parameter_types.map(&:type)
|
98
98
|
expect(types).to eq([Integer, Float])
|
99
99
|
end
|
@@ -175,18 +175,18 @@ module Cucumber
|
|
175
175
|
end
|
176
176
|
|
177
177
|
it "at the beginning of a word" do
|
178
|
-
expect(@generator.
|
179
|
-
expect(@generator.
|
178
|
+
expect(@generator.generate_expressions("When I download a picture")[0].source).not_to eq("When I {direction}load a picture")
|
179
|
+
expect(@generator.generate_expressions("When I download a picture")[0].source).to eq("When I download a picture")
|
180
180
|
end
|
181
181
|
|
182
182
|
it "inside a word" do
|
183
|
-
expect(@generator.
|
184
|
-
expect(@generator.
|
183
|
+
expect(@generator.generate_expressions("When I watch the muppet show")[0].source).not_to eq("When I watch the m{direction}pet show")
|
184
|
+
expect(@generator.generate_expressions("When I watch the muppet show")[0].source).to eq("When I watch the muppet show")
|
185
185
|
end
|
186
186
|
|
187
187
|
it "at the end of a word" do
|
188
|
-
expect(@generator.
|
189
|
-
expect(@generator.
|
188
|
+
expect(@generator.generate_expressions("When I create a group")[0].source).not_to eq("When I create a gro{direction}")
|
189
|
+
expect(@generator.generate_expressions("When I create a group")[0].source).to eq("When I create a group")
|
190
190
|
end
|
191
191
|
end
|
192
192
|
|
@@ -203,19 +203,19 @@ module Cucumber
|
|
203
203
|
end
|
204
204
|
|
205
205
|
it "a full word" do
|
206
|
-
expect(@generator.
|
207
|
-
expect(@generator.
|
208
|
-
expect(@generator.
|
206
|
+
expect(@generator.generate_expressions("When I go down the road")[0].source).to eq("When I go {direction} the road")
|
207
|
+
expect(@generator.generate_expressions("When I walk up the hill")[0].source).to eq("When I walk {direction} the hill")
|
208
|
+
expect(@generator.generate_expressions("up the hill, the road goes down")[0].source).to eq("{direction} the hill, the road goes {direction}")
|
209
209
|
end
|
210
210
|
|
211
211
|
it 'wrapped around punctuation characters' do
|
212
|
-
expect(@generator.
|
213
|
-
expect(@generator.
|
212
|
+
expect(@generator.generate_expressions("When direction is:down")[0].source).to eq("When direction is:{direction}")
|
213
|
+
expect(@generator.generate_expressions("Then direction is down.")[0].source).to eq("Then direction is {direction}.")
|
214
214
|
end
|
215
215
|
end
|
216
216
|
|
217
217
|
def assert_expression(expected_expression, expected_argument_names, text)
|
218
|
-
generated_expression = @generator.
|
218
|
+
generated_expression = @generator.generate_expressions(text)[0]
|
219
219
|
expect(generated_expression.parameter_names).to eq(expected_argument_names)
|
220
220
|
expect(generated_expression.source).to eq(expected_expression)
|
221
221
|
|
@@ -36,6 +36,10 @@ module Cucumber
|
|
36
36
|
expect( match(/hello/, "world") ).to be_nil
|
37
37
|
end
|
38
38
|
|
39
|
+
it "matches empty string when there is an empty string match" do
|
40
|
+
expect( match(/^The value equals "([^"]*)"$/, 'The value equals ""') ).to eq([''])
|
41
|
+
end
|
42
|
+
|
39
43
|
it "matches nested capture group without match" do
|
40
44
|
expect( match(/^a user( named "([^"]*)")?$/, 'a user') ).to eq([nil])
|
41
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-cucumber-expressions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 13.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '13.0'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 13.0.
|
22
|
+
version: 13.0.6
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '13.0'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 13.0.
|
32
|
+
version: 13.0.6
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rspec
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,10 +208,10 @@ licenses:
|
|
208
208
|
- MIT
|
209
209
|
metadata:
|
210
210
|
bug_tracker_uri: https://github.com/cucumber/cucumber/issues
|
211
|
-
changelog_uri: https://github.com/cucumber/
|
211
|
+
changelog_uri: https://github.com/cucumber/common/blob/main/cucumber-expressions/CHANGELOG.md
|
212
212
|
documentation_uri: https://cucumber.io/docs/cucumber/cucumber-expressions/
|
213
213
|
mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
|
214
|
-
source_code_uri: https://github.com/cucumber/
|
214
|
+
source_code_uri: https://github.com/cucumber/common/blob/main/cucumber-expressions/ruby
|
215
215
|
post_install_message:
|
216
216
|
rdoc_options:
|
217
217
|
- "--charset=UTF-8"
|
@@ -231,7 +231,7 @@ requirements: []
|
|
231
231
|
rubygems_version: 3.1.2
|
232
232
|
signing_key:
|
233
233
|
specification_version: 4
|
234
|
-
summary: cucumber-expressions-
|
234
|
+
summary: cucumber-expressions-13.0.1
|
235
235
|
test_files:
|
236
236
|
- spec/capture_warnings.rb
|
237
237
|
- spec/cucumber/cucumber_expressions/argument_spec.rb
|