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.
Implements a function which allows the user to define global steps.
The system searches for a global match if there is no step defined (ie.
when('I click the button')
as opposed towhen('I click the button', () => {...})
). When this happens, we search through the available global steps; if no match exists, it will throw an error.In addition, code generation should search through the global steps and automatically remove the function callback where there is an existing global step with the same name.
Lastly, I added an opt-in option to disable code generation from giving you regexes -- this is because the regex match for globals is quite precarious (it needs to be a === string match), and because with global steps, you may actually want all of your steps to be strings and to throw on any change. You probably won't need it for most cases, but it's good to have.
Thanks to @pedrowilkens for the idea -- this is effectively his code with a few adjustments:
#52 (comment)