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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31e788a0cba723b92294827b90ed91c55a52107870621ff3b1cadedb36ba5426
4
- data.tar.gz: 4c0217f9b26d92c3f81c6eb917029283053e32281c6f4641552ba315c43fd61a
3
+ metadata.gz: abdf3cd3e3ef1625435edf7a0c7076c148deb20f311f3c1f25f02cd7b4f4085d
4
+ data.tar.gz: 545703ed396856e7775307a49746dc2fdb4a2bba7aa732d9960b90d83976a155
5
5
  SHA512:
6
- metadata.gz: d2c3bf7e7bf1c14e3b1fa3073e5200e6e49f39c24c25fce78baf44534890788e6f261c7948c4f1ed1ea1c26b40387ffaa1170726ca15d93e0b4e279edd5f4721
7
- data.tar.gz: dec5ce7cbac4cc50b94e31699175c84f8d5f416df03c52af498538f4a61b240d2f03cd4e83fddd192f3348e71873bc6a308ffe0ac64dfb68e549d05c0990e02b
6
+ metadata.gz: 449a4b0ccc31d0398bea421da4cb5ff5f6be6daf437bd819a46e238c26c63989e18a32ed6e9e3fc71e099757e837bb04e9be1834b74852da39fc5b1b1581fe71
7
+ data.tar.gz: 699da85cd5fdd9851b021b9505da384c80047cf6b12d2b3b9abebf189199f4952db2331328cbed1d9bab9d1c69478f34e8a46f463fa8f951eecb364bc2444857
data/VERSION CHANGED
@@ -1 +1 @@
1
- 12.1.0
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/cucumber/blob/master/cucumber-expressions/CHANGELOG.md',
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/cucumber/blob/master/cucumber-expressions/ruby',
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.3'
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.filter { |astNode| NodeType::TEXT == astNode.type }
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.filter { |astNode| NodeType::PARAMETER == astNode.type }
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.filter { |astNode| NodeType::OPTIONAL == astNode.type }
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)
@@ -5,7 +5,7 @@
5
5
  set -uf -o pipefail
6
6
  IFS=$'\n'
7
7
 
8
- gemspec=$(find . -type f -maxdepth 1 -name "*.gemspec")
8
+ gemspec=$(find . -maxdepth 1 -type f -name "*.gemspec")
9
9
  if [ "${gemspec}" = "" ]; then
10
10
  exit 0
11
11
  fi
@@ -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.generate_expression(undefined_step_text)
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.generate_expression("I have 2 cukes and 1.5 euro")
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.generate_expression("When I download a picture").source).not_to eq("When I {direction}load a picture")
179
- expect(@generator.generate_expression("When I download a picture").source).to eq("When I download a picture")
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.generate_expression("When I watch the muppet show").source).not_to eq("When I watch the m{direction}pet show")
184
- expect(@generator.generate_expression("When I watch the muppet show").source).to eq("When I watch the muppet show")
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.generate_expression("When I create a group").source).not_to eq("When I create a gro{direction}")
189
- expect(@generator.generate_expression("When I create a group").source).to eq("When I create a group")
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.generate_expression("When I go down the road").source).to eq("When I go {direction} the road")
207
- expect(@generator.generate_expression("When I walk up the hill").source).to eq("When I walk {direction} the hill")
208
- expect(@generator.generate_expression("up the hill, the road goes down").source).to eq("{direction} the hill, the road goes {direction}")
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.generate_expression("When direction is:down").source).to eq("When direction is:{direction}")
213
- expect(@generator.generate_expression("Then direction is down.").source).to eq("Then direction is {direction}.")
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.generate_expression(text)
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: 12.1.0
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-04-06 00:00:00.000000000 Z
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.3
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.3
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/cucumber/blob/master/cucumber-expressions/CHANGELOG.md
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/cucumber/blob/master/cucumber-expressions/ruby
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-12.1.0
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