* at some point someone changed the return type for nested steps from []string to godog.Steps but they forgot to adjust the type checks. The existing type checks were lax and unable to distinguish []string from godog.Steps but in a couple of places in the code the value is coerced to godog.Steps and so if someone returned []string then the code would blow up. Additionally there were some tests aroudn these types but they also had not been updated but the test was passing for the wrong reason - the particular test expected an error but the cause of the error wasn't the one the code expected.
* CHANGELOG.md
* use chatgpt to regen the top of the code based on the new tests
* use chatgpt to regen the top of the code based on the new tests
* corrected the error messages of the param checks to indicate that the problem is the function signature and not the args being passed to the function, also added numerous extra assertions on the precise error messages returned. Now that the precise error is being verified in the test I have improved certain error messages to that more accurate detail is included in the errors
* added further constraints to the step arg mapping tests
* removed redundant test
* include a step error result in the reported error even when the ctx is nil
* Switch from golint to staticcheck
* Remove unused function
run_test.go:618:6: func passingStepDefWithoutReturn is unused (U1000)
* Remove unused function
suite.go:421:6: func isEmptyFeature is unused (U1000)
* Fix unnecessary use of fmt.Sprintf
test_context_test.go:45:66: unnecessary use of fmt.Sprintf (S1039)
test_context_test.go:46:61: unnecessary use of fmt.Sprintf (S1039)
* Fix CI error
https://github.com/cucumber/godog/runs/5146601108?check_suite_focus=true#step:7:28
* Change CI to run staticcheck instead of golint
* Use staticcheck that definitely pass
* Fix CI staticcheck error
https://github.com/cucumber/godog/runs/5147133955?check_suite_focus=true#step:6:17
* Only run staticcheck for Go 1.17
Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
* Add staticcheck linux binary
* Update Go module dependencies in _examples
* Use static check binary in bin for CI
* Reduce number of dependencies
Also add a note to CONTRIBUTING.md about the _examples module
* Pin the version of staticcheck
Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
Co-authored-by: Matt Wynne <matt@cucumber.io>
Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
* Add new contextualized API for hooks and steps
* Make default context configurable
* Run AfterStep hooks even after failed steps, fixes#370
* Update CHANGELOG and README
* Add step result status to After hook, fixes#378
* Elaborate hooks documentation
* Add test to pass state between contextualized steps
* Update README with example of passing state between steps