cucumber / cucumber/website

Data table and Doc string are not documented as mutually exclusive

Open
#264 7 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.