Data table and Doc string are not documented as mutually exclusive
- Dominant language
- MDX
- Stars
- 10
- Forks
- 26
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 37
Description
### 👓 What did you see?
```gherkin
When user does something
"""
ok
"""
| a | b |
```
leads to
```
expected: #EOF, #StepLine, #TagLine, #ExamplesLine, #ScenarioLine, #RuleLine, #Comment, #Empty, got '| a | b |
```
### ✅ What did you expect to see?
I expect combination of Data-Table and DocString to work, because actually there is [no mentions in documentation](https://cucumber.io/docs/gherkin/) it's disallowed.
And (subjectively) not clear why it should be disallowed.
In some cases it's really useful.
### 📦 Which tool/library version are you using?
I actually use [cucumber for rust](https://github.com/cucumber-rs/cucumber) (third-party), and it works really good.
But I wanted to add a linter for gherkin files and encountered this issue, because the linter uses go implementation of this repo.
### 🔬 How could we reproduce it?
Actually it's enough to add such case to `testdata` and run `make acceptance` test:
```gherkin
When user does something
"""
ok
"""
| a | b |
```
### 📚 Any additional context?
The issues actually comes from https://github.com/antham/ghokin/issues/124
I checked several languages from the repo, and for all of them it doesn't work. So it's rather a feature request than a bug?
----
*This text was originally generated from a [template](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates), then edited by hand. [You can modify the template here.](https://github.com/cucumber/.github/edit/main/.github/ISSUE_TEMPLATE/bug_report.md)*
Contributor guide
Research direction
Start with the Gherkin documentation linked in the issue and the testdata case described there, then run `make acceptance` to inspect the current parser behavior. Determine whether the intended outcome is documenting the mutual exclusion or changing the grammar, and consider the work done when the chosen behavior is explicitly covered by documentation and acceptance tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100