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  }