github.com/joeky888/godog@v0.7.9/gherkin/ast.go (about) 1 package gherkin 2 3 type Location struct { 4 Line int `json:"line"` 5 Column int `json:"column"` 6 } 7 8 type Node struct { 9 Location *Location `json:"location,omitempty"` 10 Type string `json:"type"` 11 } 12 13 type Feature struct { 14 Node 15 Tags []*Tag `json:"tags"` 16 Language string `json:"language,omitempty"` 17 Keyword string `json:"keyword"` 18 Name string `json:"name"` 19 Description string `json:"description,omitempty"` 20 Background *Background `json:"background,omitempty"` 21 ScenarioDefinitions []interface{} `json:"scenarioDefinitions"` 22 Comments []*Comment `json:"comments"` 23 } 24 25 type Comment struct { 26 Node 27 Text string `json:"text"` 28 } 29 30 type Tag struct { 31 Node 32 Name string `json:"name"` 33 } 34 35 type Background struct { 36 ScenarioDefinition 37 } 38 39 type Scenario struct { 40 ScenarioDefinition 41 Tags []*Tag `json:"tags"` 42 } 43 44 type ScenarioOutline struct { 45 ScenarioDefinition 46 Tags []*Tag `json:"tags"` 47 Examples []*Examples `json:"examples,omitempty"` 48 } 49 50 type Examples struct { 51 Node 52 Tags []*Tag `json:"tags"` 53 Keyword string `json:"keyword"` 54 Name string `json:"name"` 55 Description string `json:"description,omitempty"` 56 TableHeader *TableRow `json:"tableHeader"` 57 TableBody []*TableRow `json:"tableBody"` 58 } 59 60 type TableRow struct { 61 Node 62 Cells []*TableCell `json:"cells"` 63 } 64 65 type TableCell struct { 66 Node 67 Value string `json:"value"` 68 } 69 70 type ScenarioDefinition struct { 71 Node 72 Keyword string `json:"keyword"` 73 Name string `json:"name"` 74 Description string `json:"description,omitempty"` 75 Steps []*Step `json:"steps"` 76 } 77 78 type Step struct { 79 Node 80 Keyword string `json:"keyword"` 81 Text string `json:"text"` 82 Argument interface{} `json:"argument,omitempty"` 83 } 84 85 type DocString struct { 86 Node 87 ContentType string `json:"contentType,omitempty"` 88 Content string `json:"content"` 89 Delimitter string `json:"-"` 90 } 91 92 type DataTable struct { 93 Node 94 Rows []*TableRow `json:"rows"` 95 }