Context:
While trying to create an helper library to manage http rest api testing, I made a system witch allow to pick value from responses, header, cookie, ... and inject then as variables.
Issue:
Doing this, when the inject variable make the line longer than the longest declared step, godog will failed to render test result under pretty formatting cause it will try to write a comment on a negative index
Fix:
Fix s methods so it will not goes to fatal when recieving negative number.
This slightly relaxes the language for the SuiteContext matchers, so
that whether one starts the step with “a …” or not it will match either
way.
(It also eliminates one duplicate matcher that essentially did the same
thing without a regex.)
This allows it to be easily re-used in other libraries to do
meta-testing on their own godog features/steps.
At some point it may make sense to migrate this entirely to a
sub-package of godog, however that would require a larger
re-architecting of the project structure to avoid circular dependencies
(e.g. `import cycle not allowed`).