cucumber-expressions: Handle multiple capture group regexps for matching #102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
When creating a new transform with multiple capture group regexps, cucumber fail to match expressions that are not using the first capturing regexp.
For instance, a transform with the captureGroupRegexps with the value ['red', 'yellow'] would fail to match an expression containing yellow.
Details
The matching expression is now a disjonction of all the capturing regexps using non capturing group (with
(?:...)
).Motivation and Context
I had an issue when using multiple regexps for the same transform as it was only matching the first one. This commit fix it.
How Has This Been Tested?
I added one test that use the second regexp of the
captureGroupRegexps
option of a transform (and that is not matching a subset of the first regexp).Types of changes
Checklist: