Comments (7)
Checked with @aslakhellesoy and in Gherkin 6 Scenario Outline and Scenario are synonyms - they only differ based on whether they are followed by an Example, so the following are valid:
Scenario Outline: Something
Given I don't have any examples
Scenario: Something else
Given <foo>
Examples:
| foo |
| bar |
from gherkin.
This would require a BC break here, and in Behat though, as outlines are currently treated differently from scenarios in Behat.
Btw, I'm wondering how cucumber deals with the output formatting for these cases. Does it still tries to output something looking like a colored gherkin file ?
from gherkin.
I don't think it's necessarily a BC break - it allows some new syntaxes (above) that previously would have been a parse error
(our AST would need to still differentiate ScenarioOutline nodes from Scenario nodes, but we could detect which it is based on whether it is followed by Examples)
from gherkin.
ah indeed, if we keep our 2 different nodes based on the presence of Examples, there is no BC break.
from gherkin.
@dpakach As you've been looking at how Examples and Outlines are treated, what do you think about implementing this?
from gherkin.
Just my 2c - the official Gherkin parser does the same - the AST node that gets created depends on the absence/presence of examples. And we managed to release this without any users complaining about BC issues.
from gherkin.
Removing these lines will now produce failing tests
from gherkin.
Related Issues (20)
- Comment between tags and scenario is not allowed with v4.7.0 HOT 4
- BC in keywords HOT 12
- When creating ExampleNode outline title is never passed to contructor HOT 4
- The Keywords API is based on cucumber gherkin 2 HOT 1
- Examples descriptions not parsing correctly
- Whitespace around language stops detection HOT 1
- TagFilter does not implement cucumber tag expressions
- Missing feature keyword should not error
- Feature description whitespace does not match Cucumber HOT 3
- Comments after tags are captured
- Background and scenariondescriptions not supported HOT 1
- Inconsistent cells count throws low-level error
- Whitespace is allowed in tags
- Non-UTF8 file encodings
- Wrong hash for cucumber releases? HOT 6
- Cucumber update PRs don't trigger CI
- Test our examples against cucumber HOT 3
- Migrate parser to `cucumber/common`? HOT 8
- removed
- TagFilter not checking for empty string
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gherkin.