You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
Added a new ParserInterface and deprecated extending the core Lexer, Parser and Node classes by @acoulton in #354
Deprecate the CucumberNDJsonAstLoader (which was only intended for internal use by our tests) by @stof in #356
By default, the parser ignores invalid language tags (e.g. #language:no-such) and falls back to the default language (e.g. en). Previously, the resultant FeatureNode::getLanguage() would return the original invalid value from the feature file - it will now return the language that was actually used for parsing. By @stof in #350
Added
Introduce a DialectProviderInterface matching the modern cucumber API. This will replace the existing Keywords API in a future major release. By @stof in #350
Introduce configurable GherkinCompatibilityMode to control how gherkin files are parsed. In the default legacy mode, there is no change to parsing. In the new experimentalgherkin-32 mode, files will in future be parsed consistently with the official cucumber/gherkin parsers. This mode is not yet complete - in this first release:
Whitespace within description nodes will not be trimmed by @acoulton in #349
Invalid language tags will cause an exception by @stof in #357
Step keywords will not be trimmed by @stof in #360
Language tags can include whitespace by @acoulton in #358
\n literals in table cells will be parsed as newlines by @stof in #359 and #391
Improved translations for ru (Russian) and af (Afrikaans) from cucumber/gherkin in #381 and #386