cuke_modeler 0.4.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +17 -17
- data/.travis.yml +1 -1
- data/Gemfile +4 -0
- data/History.rdoc +71 -3
- data/LICENSE.txt +22 -22
- data/README.md +24 -10
- data/Rakefile +2 -12
- data/cuke_modeler.gemspec +1 -1
- data/features/analysis/test_comparison.feature +37 -122
- data/features/modeling/background_modeling.feature +77 -0
- data/features/modeling/background_output.feature +42 -0
- data/features/modeling/cell_modeling.feature +23 -0
- data/features/modeling/cell_output.feature +22 -0
- data/features/modeling/directory_modeling.feature +65 -0
- data/features/modeling/directory_output.feature +12 -0
- data/features/modeling/doc_string_modeling.feature +61 -0
- data/features/modeling/doc_string_output.feature +32 -0
- data/features/modeling/example_modeling.feature +125 -0
- data/features/modeling/example_output.feature +39 -0
- data/features/modeling/feature_file_modeling.feature +40 -0
- data/features/modeling/feature_file_output.feature +12 -0
- data/features/modeling/feature_modeling.feature +109 -0
- data/features/modeling/feature_output.feature +104 -0
- data/features/modeling/model_output.feature +22 -0
- data/features/modeling/model_structure.feature +48 -0
- data/features/modeling/outline_modeling.feature +144 -0
- data/features/modeling/outline_output.feature +69 -0
- data/features/modeling/row_modeling.feature +48 -0
- data/features/modeling/row_output.feature +22 -0
- data/features/modeling/scenario_modeling.feature +118 -0
- data/features/modeling/scenario_output.feature +45 -0
- data/features/modeling/step_modeling.feature +84 -0
- data/features/modeling/step_output.feature +29 -0
- data/features/modeling/table_modeling.feature +50 -0
- data/features/modeling/table_output.feature +24 -0
- data/features/modeling/tag_modeling.feature +43 -0
- data/features/modeling/tag_output.feature +22 -0
- data/features/step_definitions/action_steps.rb +11 -1
- data/features/step_definitions/background_steps.rb +1 -85
- data/features/step_definitions/directory_steps.rb +2 -48
- data/features/step_definitions/doc_string_steps.rb +1 -67
- data/features/step_definitions/feature_file_steps.rb +2 -37
- data/features/step_definitions/feature_steps.rb +4 -100
- data/features/step_definitions/modeling_steps.rb +44 -0
- data/features/step_definitions/setup_steps.rb +19 -41
- data/features/step_definitions/step_steps.rb +2 -166
- data/features/step_definitions/table_steps.rb +1 -58
- data/features/step_definitions/tag_steps.rb +2 -72
- data/features/step_definitions/verification_steps.rb +152 -4
- data/features/support/env.rb +4 -6
- data/gemfiles/{gherkin.gemfile → gherkin2.gemfile} +4 -0
- data/gemfiles/gherkin3.gemfile +4 -0
- data/gemfiles/gherkin4.gemfile +4 -0
- data/lib/cuke_modeler.rb +24 -22
- data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +103 -31
- data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +103 -40
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +111 -50
- data/lib/cuke_modeler/containing.rb +255 -4
- data/lib/cuke_modeler/described.rb +28 -0
- data/lib/cuke_modeler/models/background.rb +66 -0
- data/lib/cuke_modeler/models/cell.rb +48 -0
- data/lib/cuke_modeler/models/directory.rb +95 -0
- data/lib/cuke_modeler/models/doc_string.rb +59 -0
- data/lib/cuke_modeler/models/example.rb +167 -0
- data/lib/cuke_modeler/models/feature.rb +106 -0
- data/lib/cuke_modeler/models/feature_file.rb +64 -0
- data/lib/cuke_modeler/models/model.rb +32 -0
- data/lib/cuke_modeler/models/outline.rb +79 -0
- data/lib/cuke_modeler/models/row.rb +49 -0
- data/lib/cuke_modeler/models/scenario.rb +69 -0
- data/lib/cuke_modeler/models/step.rb +68 -0
- data/lib/cuke_modeler/models/table.rb +67 -0
- data/lib/cuke_modeler/models/tag.rb +46 -0
- data/lib/cuke_modeler/named.rb +19 -0
- data/lib/cuke_modeler/nested.rb +22 -15
- data/lib/cuke_modeler/parsed.rb +11 -0
- data/lib/cuke_modeler/parsing.rb +66 -83
- data/lib/cuke_modeler/sourceable.rb +3 -11
- data/lib/cuke_modeler/stepped.rb +24 -0
- data/lib/cuke_modeler/taggable.rb +6 -29
- data/lib/cuke_modeler/version.rb +2 -1
- data/spec/integration/background_integration_spec.rb +332 -7
- data/spec/integration/cell_integration_spec.rb +321 -0
- data/spec/integration/directory_integration_spec.rb +175 -9
- data/spec/integration/doc_string_integration_spec.rb +318 -7
- data/spec/integration/example_integration_spec.rb +602 -19
- data/spec/integration/feature_file_integration_spec.rb +98 -3
- data/spec/integration/feature_integration_spec.rb +445 -27
- data/spec/integration/gherkin_2_adapter_spec.rb +122 -0
- data/spec/integration/gherkin_3_adapter_spec.rb +125 -0
- data/spec/integration/gherkin_4_adapter_spec.rb +123 -0
- data/spec/integration/model_integration_spec.rb +15 -0
- data/spec/integration/nested_integration_spec.rb +91 -0
- data/spec/integration/outline_integration_spec.rb +485 -12
- data/spec/integration/parsing_integration_spec.rb +85 -0
- data/spec/integration/row_integration_spec.rb +221 -18
- data/spec/integration/scenario_integration_spec.rb +368 -14
- data/spec/integration/shared/models_integration_specs.rb +18 -0
- data/spec/integration/step_integration_spec.rb +328 -77
- data/spec/integration/table_integration_spec.rb +242 -20
- data/spec/integration/tag_integration_spec.rb +178 -13
- data/spec/spec_helper.rb +32 -18
- data/spec/unit/background_unit_spec.rb +24 -44
- data/spec/unit/cell_unit_spec.rb +73 -0
- data/spec/unit/described_unit_spec.rb +23 -0
- data/spec/unit/directory_unit_spec.rb +52 -62
- data/spec/unit/doc_string_unit_spec.rb +47 -100
- data/spec/unit/example_unit_spec.rb +50 -296
- data/spec/unit/feature_file_unit_spec.rb +53 -52
- data/spec/unit/feature_unit_spec.rb +39 -83
- data/spec/unit/model_unit_spec.rb +15 -0
- data/spec/unit/named_unit_spec.rb +23 -0
- data/spec/unit/nested_unit_spec.rb +24 -21
- data/spec/unit/outline_unit_spec.rb +46 -69
- data/spec/unit/parsed_unit_spec.rb +27 -0
- data/spec/unit/parsing_unit_spec.rb +2 -70
- data/spec/unit/row_unit_spec.rb +22 -51
- data/spec/unit/scenario_unit_spec.rb +27 -59
- data/spec/unit/{bare_bones_unit_specs.rb → shared/bare_bones_models_unit_specs.rb} +2 -2
- data/spec/unit/shared/containing_models_unit_specs.rb +18 -0
- data/spec/unit/shared/described_models_unit_specs.rb +38 -0
- data/spec/unit/shared/models_unit_specs.rb +15 -0
- data/spec/unit/shared/named_models_unit_specs.rb +39 -0
- data/spec/unit/shared/nested_models_unit_specs.rb +51 -0
- data/spec/unit/shared/parsed_models_unit_specs.rb +39 -0
- data/spec/unit/shared/prepopulated_models_unit_specs.rb +18 -0
- data/spec/unit/shared/sourced_models_unit_specs.rb +39 -0
- data/spec/unit/shared/stepped_models_unit_specs.rb +46 -0
- data/spec/unit/shared/stringifiable_models_unit_specs.rb +18 -0
- data/spec/unit/shared/tagged_models_unit_specs.rb +72 -0
- data/spec/unit/sourceable_unit_spec.rb +12 -4
- data/spec/unit/step_unit_spec.rb +40 -231
- data/spec/unit/stepped_unit_spec.rb +23 -0
- data/spec/unit/table_unit_spec.rb +27 -89
- data/spec/unit/tag_unit_spec.rb +30 -53
- data/spec/unit/taggable_unit_spec.rb +26 -42
- data/todo.txt +32 -0
- metadata +135 -217
- data/features/analysis/test_manipulation.feature +0 -37
- data/features/modeling/gherkin/background_modeling.feature +0 -65
- data/features/modeling/gherkin/background_output.feature +0 -131
- data/features/modeling/gherkin/directory_modeling.feature +0 -110
- data/features/modeling/gherkin/directory_output.feature +0 -14
- data/features/modeling/gherkin/doc_string_modeling.feature +0 -53
- data/features/modeling/gherkin/doc_string_output.feature +0 -72
- data/features/modeling/gherkin/example_modeling.feature +0 -101
- data/features/modeling/gherkin/example_output.feature +0 -193
- data/features/modeling/gherkin/feature_file_modeling.feature +0 -54
- data/features/modeling/gherkin/feature_file_output.feature +0 -14
- data/features/modeling/gherkin/feature_modeling.feature +0 -154
- data/features/modeling/gherkin/feature_output.feature +0 -245
- data/features/modeling/gherkin/outline_modeling.feature +0 -90
- data/features/modeling/gherkin/outline_output.feature +0 -198
- data/features/modeling/gherkin/row_modeling.feature +0 -68
- data/features/modeling/gherkin/row_output.feature +0 -28
- data/features/modeling/gherkin/scenario_modeling.feature +0 -79
- data/features/modeling/gherkin/scenario_output.feature +0 -148
- data/features/modeling/gherkin/step_modeling.feature +0 -75
- data/features/modeling/gherkin/step_output.feature +0 -53
- data/features/modeling/gherkin/table_modeling.feature +0 -42
- data/features/modeling/gherkin/table_output.feature +0 -43
- data/features/modeling/gherkin/table_row_modeling.feature +0 -57
- data/features/modeling/gherkin/table_row_output.feature +0 -28
- data/features/modeling/gherkin/tag_modeling.feature +0 -48
- data/features/modeling/gherkin/tag_output.feature +0 -17
- data/features/modeling/gherkin3/background_modeling.feature +0 -64
- data/features/modeling/gherkin3/background_output.feature +0 -131
- data/features/modeling/gherkin3/directory_modeling.feature +0 -110
- data/features/modeling/gherkin3/directory_output.feature +0 -14
- data/features/modeling/gherkin3/doc_string_modeling.feature +0 -53
- data/features/modeling/gherkin3/doc_string_output.feature +0 -72
- data/features/modeling/gherkin3/example_modeling.feature +0 -100
- data/features/modeling/gherkin3/example_output.feature +0 -207
- data/features/modeling/gherkin3/feature_file_modeling.feature +0 -54
- data/features/modeling/gherkin3/feature_file_output.feature +0 -14
- data/features/modeling/gherkin3/feature_modeling.feature +0 -155
- data/features/modeling/gherkin3/feature_output.feature +0 -249
- data/features/modeling/gherkin3/outline_modeling.feature +0 -89
- data/features/modeling/gherkin3/outline_output.feature +0 -255
- data/features/modeling/gherkin3/row_modeling.feature +0 -68
- data/features/modeling/gherkin3/row_output.feature +0 -28
- data/features/modeling/gherkin3/scenario_modeling.feature +0 -78
- data/features/modeling/gherkin3/scenario_output.feature +0 -148
- data/features/modeling/gherkin3/step_modeling.feature +0 -75
- data/features/modeling/gherkin3/step_output.feature +0 -53
- data/features/modeling/gherkin3/table_modeling.feature +0 -42
- data/features/modeling/gherkin3/table_output.feature +0 -43
- data/features/modeling/gherkin3/table_row_modeling.feature +0 -57
- data/features/modeling/gherkin3/table_row_output.feature +0 -28
- data/features/modeling/gherkin3/tag_modeling.feature +0 -49
- data/features/modeling/gherkin3/tag_output.feature +0 -17
- data/features/modeling/gherkin4/background_modeling.feature +0 -64
- data/features/modeling/gherkin4/background_output.feature +0 -131
- data/features/modeling/gherkin4/directory_modeling.feature +0 -110
- data/features/modeling/gherkin4/directory_output.feature +0 -14
- data/features/modeling/gherkin4/doc_string_modeling.feature +0 -53
- data/features/modeling/gherkin4/doc_string_output.feature +0 -72
- data/features/modeling/gherkin4/example_modeling.feature +0 -100
- data/features/modeling/gherkin4/example_output.feature +0 -193
- data/features/modeling/gherkin4/feature_file_modeling.feature +0 -54
- data/features/modeling/gherkin4/feature_file_output.feature +0 -14
- data/features/modeling/gherkin4/feature_modeling.feature +0 -153
- data/features/modeling/gherkin4/feature_output.feature +0 -245
- data/features/modeling/gherkin4/outline_modeling.feature +0 -89
- data/features/modeling/gherkin4/outline_output.feature +0 -198
- data/features/modeling/gherkin4/row_modeling.feature +0 -68
- data/features/modeling/gherkin4/row_output.feature +0 -28
- data/features/modeling/gherkin4/scenario_modeling.feature +0 -78
- data/features/modeling/gherkin4/scenario_output.feature +0 -148
- data/features/modeling/gherkin4/step_modeling.feature +0 -75
- data/features/modeling/gherkin4/step_output.feature +0 -53
- data/features/modeling/gherkin4/table_modeling.feature +0 -42
- data/features/modeling/gherkin4/table_output.feature +0 -43
- data/features/modeling/gherkin4/table_row_modeling.feature +0 -57
- data/features/modeling/gherkin4/table_row_output.feature +0 -28
- data/features/modeling/gherkin4/tag_modeling.feature +0 -48
- data/features/modeling/gherkin4/tag_output.feature +0 -17
- data/features/step_definitions/outline_steps.rb +0 -258
- data/features/step_definitions/test_steps.rb +0 -123
- data/lib/cuke_modeler/background.rb +0 -38
- data/lib/cuke_modeler/directory.rb +0 -83
- data/lib/cuke_modeler/doc_string.rb +0 -87
- data/lib/cuke_modeler/example.rb +0 -195
- data/lib/cuke_modeler/feature.rb +0 -147
- data/lib/cuke_modeler/feature_element.rb +0 -73
- data/lib/cuke_modeler/feature_file.rb +0 -77
- data/lib/cuke_modeler/outline.rb +0 -68
- data/lib/cuke_modeler/raw.rb +0 -20
- data/lib/cuke_modeler/row.rb +0 -64
- data/lib/cuke_modeler/scenario.rb +0 -45
- data/lib/cuke_modeler/step.rb +0 -216
- data/lib/cuke_modeler/table.rb +0 -90
- data/lib/cuke_modeler/table_row.rb +0 -64
- data/lib/cuke_modeler/tag.rb +0 -62
- data/lib/cuke_modeler/test_element.rb +0 -79
- data/lib/cuke_modeler/world.rb +0 -113
- data/spec/integration/table_row_integration_spec.rb +0 -76
- data/spec/integration/world_integration_spec.rb +0 -14
- data/spec/unit/containing_element_unit_specs.rb +0 -18
- data/spec/unit/feature_element_unit_spec.rb +0 -19
- data/spec/unit/feature_element_unit_specs.rb +0 -52
- data/spec/unit/nested_element_unit_specs.rb +0 -39
- data/spec/unit/prepopulated_unit_specs.rb +0 -14
- data/spec/unit/raw_element_unit_specs.rb +0 -27
- data/spec/unit/raw_unit_spec.rb +0 -28
- data/spec/unit/sourced_element_unit_specs.rb +0 -18
- data/spec/unit/table_row_unit_spec.rb +0 -102
- data/spec/unit/tagged_element_unit_specs.rb +0 -67
- data/spec/unit/test_element_unit_spec.rb +0 -54
- data/spec/unit/test_element_unit_specs.rb +0 -34
- data/spec/unit/world_unit_spec.rb +0 -140
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Table elements can be modeled.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Acceptance criteria
|
|
6
|
-
|
|
7
|
-
1. All conceptual pieces of a table can be modeled:
|
|
8
|
-
- the table's contents
|
|
9
|
-
- the table's raw element
|
|
10
|
-
|
|
11
|
-
2. Tables can be outputted in a convenient form
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Background: Test file setup.
|
|
15
|
-
Given the following feature file:
|
|
16
|
-
"""
|
|
17
|
-
Feature:
|
|
18
|
-
|
|
19
|
-
Scenario:
|
|
20
|
-
* some data filled step:
|
|
21
|
-
| value 1 | value 2 |
|
|
22
|
-
| value 3 | value 4 |
|
|
23
|
-
* some data filled step:
|
|
24
|
-
| value 1 |
|
|
25
|
-
| value 2 |
|
|
26
|
-
"""
|
|
27
|
-
When the file is read
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Scenario: The table's contents are modeled.
|
|
31
|
-
Then the step "1" table has the following contents:
|
|
32
|
-
| value 1 | value 2 |
|
|
33
|
-
| value 3 | value 4 |
|
|
34
|
-
And the step "2" table has the following contents:
|
|
35
|
-
| value 1 |
|
|
36
|
-
| value 2 |
|
|
37
|
-
|
|
38
|
-
Scenario: The raw table element is modeled.
|
|
39
|
-
Then the table correctly stores its underlying implementation
|
|
40
|
-
|
|
41
|
-
Scenario: Convenient output of a table
|
|
42
|
-
Then the table has convenient output
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Outputting table elements
|
|
3
|
-
|
|
4
|
-
The output of an element model is a representation of the element as it would
|
|
5
|
-
appear in gherkin.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Scenario: Output of a table that has one row
|
|
9
|
-
Given a table element based on the following gherkin:
|
|
10
|
-
"""
|
|
11
|
-
|value|
|
|
12
|
-
"""
|
|
13
|
-
When it is outputted
|
|
14
|
-
Then the following text is provided:
|
|
15
|
-
"""
|
|
16
|
-
| value |
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
Scenario: Output of a table that has multiple rows
|
|
20
|
-
Given a table element based on the following gherkin:
|
|
21
|
-
"""
|
|
22
|
-
|value1|
|
|
23
|
-
|value2|
|
|
24
|
-
"""
|
|
25
|
-
When it is outputted
|
|
26
|
-
Then the following text is provided:
|
|
27
|
-
"""
|
|
28
|
-
| value1 |
|
|
29
|
-
| value2 |
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
Scenario: Whitespace buffers are based on the longest value in a column
|
|
33
|
-
Given a table element based on the following gherkin:
|
|
34
|
-
"""
|
|
35
|
-
|value|x|
|
|
36
|
-
|y|another_value|
|
|
37
|
-
"""
|
|
38
|
-
When it is outputted
|
|
39
|
-
Then the following text is provided:
|
|
40
|
-
"""
|
|
41
|
-
| value | x |
|
|
42
|
-
| y | another_value |
|
|
43
|
-
"""
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Table Row elements can be modeled.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Acceptance criteria
|
|
6
|
-
|
|
7
|
-
1. All conceptual pieces of a table row can be modeled:
|
|
8
|
-
- the row's source line
|
|
9
|
-
- the row's cells
|
|
10
|
-
- the row's raw element
|
|
11
|
-
|
|
12
|
-
2. Rows can be outputted in a convenient form
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Background: Test file setup.
|
|
16
|
-
Given the following feature file:
|
|
17
|
-
"""
|
|
18
|
-
Feature:
|
|
19
|
-
|
|
20
|
-
Scenario:
|
|
21
|
-
* some data filled step:
|
|
22
|
-
| value 1 | value 2 |
|
|
23
|
-
| value 3 | value 4 |
|
|
24
|
-
* some data filled step:
|
|
25
|
-
| value 1 |
|
|
26
|
-
| value 2 |
|
|
27
|
-
"""
|
|
28
|
-
When the file is read
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Scenario: The raw table row element is modeled.
|
|
32
|
-
Then the step table row correctly stores its underlying implementation
|
|
33
|
-
|
|
34
|
-
Scenario: The table row's source line is modeled.
|
|
35
|
-
Then step "1" table row "1" is found to have the following properties:
|
|
36
|
-
| source_line | 5 |
|
|
37
|
-
And step "1" table row "2" is found to have the following properties:
|
|
38
|
-
| source_line | 6 |
|
|
39
|
-
And step "2" table row "1" is found to have the following properties:
|
|
40
|
-
| source_line | 8 |
|
|
41
|
-
And step "2" table row "2" is found to have the following properties:
|
|
42
|
-
| source_line | 9 |
|
|
43
|
-
|
|
44
|
-
Scenario: The table row's cells are modeled.
|
|
45
|
-
Then step "1" table row "1" cells are as follows:
|
|
46
|
-
| value 1 |
|
|
47
|
-
| value 2 |
|
|
48
|
-
And step "1" table row "2" cells are as follows:
|
|
49
|
-
| value 3 |
|
|
50
|
-
| value 4 |
|
|
51
|
-
And step "2" table row "1" cells are as follows:
|
|
52
|
-
| value 1 |
|
|
53
|
-
And step "2" table row "2" cells are as follows:
|
|
54
|
-
| value 2 |
|
|
55
|
-
|
|
56
|
-
Scenario: Convenient output of a table row
|
|
57
|
-
Then the table row has convenient output
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Outputting table row elements
|
|
3
|
-
|
|
4
|
-
The output of an element model is a representation of the element as it would
|
|
5
|
-
appear in gherkin.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Scenario: Output of a table row that has one cell
|
|
9
|
-
Given a table row element based on the following gherkin:
|
|
10
|
-
"""
|
|
11
|
-
|value|
|
|
12
|
-
"""
|
|
13
|
-
When it is outputted
|
|
14
|
-
Then the following text is provided:
|
|
15
|
-
"""
|
|
16
|
-
| value |
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
Scenario: Output of a table row that has multiple cells
|
|
20
|
-
Given a table row element based on the following gherkin:
|
|
21
|
-
"""
|
|
22
|
-
|value|another_value|
|
|
23
|
-
"""
|
|
24
|
-
When it is outputted
|
|
25
|
-
Then the following text is provided:
|
|
26
|
-
"""
|
|
27
|
-
| value | another_value |
|
|
28
|
-
"""
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Tag elements can be modeled.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Acceptance criteria
|
|
6
|
-
|
|
7
|
-
1. All conceptual pieces of a tag can be modeled:
|
|
8
|
-
- the tag's name
|
|
9
|
-
- the tags's source line
|
|
10
|
-
- the tags's raw element
|
|
11
|
-
|
|
12
|
-
2. Features can be outputted in a convenient form
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Background: Test file setup.
|
|
16
|
-
Given the following feature file:
|
|
17
|
-
"""
|
|
18
|
-
@feature_tag
|
|
19
|
-
Feature:
|
|
20
|
-
|
|
21
|
-
@outline_tag
|
|
22
|
-
Scenario Outline:
|
|
23
|
-
* a step
|
|
24
|
-
|
|
25
|
-
@example_tag
|
|
26
|
-
Examples:
|
|
27
|
-
| a param |
|
|
28
|
-
"""
|
|
29
|
-
When the file is read
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Scenario: The raw tag element is modeled.
|
|
33
|
-
Then the feature tag correctly stores its underlying implementation
|
|
34
|
-
And the test tag correctly stores its underlying implementation
|
|
35
|
-
And the example tag correctly stores its underlying implementation
|
|
36
|
-
|
|
37
|
-
Scenario: The tag's source line is modeled.
|
|
38
|
-
Then the feature tag source line "1"
|
|
39
|
-
And the test tag source line "4"
|
|
40
|
-
And the example tag source line "8"
|
|
41
|
-
|
|
42
|
-
Scenario: The tag name is modeled.
|
|
43
|
-
Then the feature tag name is "@feature_tag"
|
|
44
|
-
And the test tag name is "@outline_tag"
|
|
45
|
-
And the example tag name is "@example_tag"
|
|
46
|
-
|
|
47
|
-
Scenario: Convenient output of a tag
|
|
48
|
-
Then the tag has convenient output
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
@gherkin
|
|
2
|
-
Feature: Outputting tag elements
|
|
3
|
-
|
|
4
|
-
The output of an element model is a representation of the element as it would
|
|
5
|
-
appear in gherkin.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Scenario: Output of a tag that has a name
|
|
9
|
-
Given a tag element based on the following gherkin:
|
|
10
|
-
"""
|
|
11
|
-
@some_tag
|
|
12
|
-
"""
|
|
13
|
-
When it is outputted
|
|
14
|
-
Then the following text is provided:
|
|
15
|
-
"""
|
|
16
|
-
@some_tag
|
|
17
|
-
"""
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
@gherkin3
|
|
2
|
-
Feature: Background elements can be modeled.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Acceptance criteria
|
|
6
|
-
|
|
7
|
-
1. All conceptual pieces of a background can be modeled:
|
|
8
|
-
- the background's name
|
|
9
|
-
- the background's description
|
|
10
|
-
- the background's steps
|
|
11
|
-
- the background's source line
|
|
12
|
-
- the background's raw element
|
|
13
|
-
|
|
14
|
-
2. Backgrounds can be outputted in a convenient form
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Background: Test file setup.
|
|
18
|
-
Given the following feature file:
|
|
19
|
-
"""
|
|
20
|
-
Feature:
|
|
21
|
-
|
|
22
|
-
Background: Some general test setup stuff.
|
|
23
|
-
|
|
24
|
-
Some background description.
|
|
25
|
-
|
|
26
|
-
Some more.
|
|
27
|
-
Even more.
|
|
28
|
-
|
|
29
|
-
Given a setup step
|
|
30
|
-
And another setup step
|
|
31
|
-
When an action step
|
|
32
|
-
"""
|
|
33
|
-
And parameter delimiters of "*" and "*"
|
|
34
|
-
When the file is read
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Scenario: The raw background element is modeled.
|
|
38
|
-
Then the background correctly stores its underlying implementation
|
|
39
|
-
|
|
40
|
-
Scenario: The background source line is modeled.
|
|
41
|
-
Then the background is found to have the following properties:
|
|
42
|
-
| source_line | 3 |
|
|
43
|
-
|
|
44
|
-
Scenario: The background name is modeled.
|
|
45
|
-
Then the background is found to have the following properties:
|
|
46
|
-
| name | Some general test setup stuff. |
|
|
47
|
-
|
|
48
|
-
Scenario: The background description is modeled.
|
|
49
|
-
Then the background has the following description:
|
|
50
|
-
"""
|
|
51
|
-
Some background description.
|
|
52
|
-
|
|
53
|
-
Some more.
|
|
54
|
-
Even more.
|
|
55
|
-
"""
|
|
56
|
-
|
|
57
|
-
Scenario: The background steps are modeled.
|
|
58
|
-
Then the background's steps are as follows:
|
|
59
|
-
| a setup step |
|
|
60
|
-
| another setup step |
|
|
61
|
-
| an action step |
|
|
62
|
-
|
|
63
|
-
Scenario: Convenient output of a background
|
|
64
|
-
Then the background has convenient output
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
@gherkin3
|
|
2
|
-
Feature: Outputting background elements
|
|
3
|
-
|
|
4
|
-
The output of an element model is a representation of the element as it would
|
|
5
|
-
appear in gherkin.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Scenario: Output of a background that does not have a name
|
|
9
|
-
Given a background element based on the following gherkin:
|
|
10
|
-
"""
|
|
11
|
-
Background:
|
|
12
|
-
"""
|
|
13
|
-
When it is outputted
|
|
14
|
-
Then the following text is provided:
|
|
15
|
-
"""
|
|
16
|
-
Background:
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
Scenario: Output of a background that does have a name
|
|
20
|
-
Given a background element based on the following gherkin:
|
|
21
|
-
"""
|
|
22
|
-
Background: with a name
|
|
23
|
-
"""
|
|
24
|
-
When it is outputted
|
|
25
|
-
Then the following text is provided:
|
|
26
|
-
"""
|
|
27
|
-
Background: with a name
|
|
28
|
-
"""
|
|
29
|
-
|
|
30
|
-
Scenario: Output of a background that has a description, no first line buffer
|
|
31
|
-
Given a background element based on the following gherkin:
|
|
32
|
-
"""
|
|
33
|
-
Background:
|
|
34
|
-
Some description.
|
|
35
|
-
Some more description.
|
|
36
|
-
"""
|
|
37
|
-
When it is outputted
|
|
38
|
-
Then the following text is provided:
|
|
39
|
-
"""
|
|
40
|
-
Background:
|
|
41
|
-
|
|
42
|
-
Some description.
|
|
43
|
-
Some more description.
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
Scenario: Output of a background that has a description, first line is blank
|
|
47
|
-
Given a background element based on the following gherkin:
|
|
48
|
-
"""
|
|
49
|
-
Background:
|
|
50
|
-
|
|
51
|
-
Some description.
|
|
52
|
-
Some more description.
|
|
53
|
-
"""
|
|
54
|
-
When it is outputted
|
|
55
|
-
Then the following text is provided:
|
|
56
|
-
"""
|
|
57
|
-
Background:
|
|
58
|
-
|
|
59
|
-
Some description.
|
|
60
|
-
Some more description.
|
|
61
|
-
"""
|
|
62
|
-
|
|
63
|
-
Scenario: Output of a background that has a description, first line is only whitespace
|
|
64
|
-
Given a background element based on the following gherkin:
|
|
65
|
-
"""
|
|
66
|
-
Background:
|
|
67
|
-
|
|
68
|
-
Some description.
|
|
69
|
-
Some more description.
|
|
70
|
-
"""
|
|
71
|
-
When it is outputted
|
|
72
|
-
Then the following text is provided:
|
|
73
|
-
"""
|
|
74
|
-
Background:
|
|
75
|
-
|
|
76
|
-
Some description.
|
|
77
|
-
Some more description.
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
Scenario: Output of a background that has steps
|
|
81
|
-
Given a background element based on the following gherkin:
|
|
82
|
-
"""
|
|
83
|
-
Background:
|
|
84
|
-
* a step
|
|
85
|
-
|value|
|
|
86
|
-
* another step
|
|
87
|
-
\"\"\"
|
|
88
|
-
some string
|
|
89
|
-
\"\"\"
|
|
90
|
-
"""
|
|
91
|
-
When it is outputted
|
|
92
|
-
Then the following text is provided:
|
|
93
|
-
"""
|
|
94
|
-
Background:
|
|
95
|
-
* a step
|
|
96
|
-
| value |
|
|
97
|
-
* another step
|
|
98
|
-
\"\"\"
|
|
99
|
-
some string
|
|
100
|
-
\"\"\"
|
|
101
|
-
"""
|
|
102
|
-
|
|
103
|
-
Scenario: Output of a background that contains all possible parts
|
|
104
|
-
Given a background element based on the following gherkin:
|
|
105
|
-
"""
|
|
106
|
-
Background: A background with everything it could have
|
|
107
|
-
Including a description
|
|
108
|
-
and then some.
|
|
109
|
-
|
|
110
|
-
* a step
|
|
111
|
-
|value|
|
|
112
|
-
* another step
|
|
113
|
-
\"\"\"
|
|
114
|
-
some string
|
|
115
|
-
\"\"\"
|
|
116
|
-
"""
|
|
117
|
-
When it is outputted
|
|
118
|
-
Then the following text is provided:
|
|
119
|
-
"""
|
|
120
|
-
Background: A background with everything it could have
|
|
121
|
-
|
|
122
|
-
Including a description
|
|
123
|
-
and then some.
|
|
124
|
-
|
|
125
|
-
* a step
|
|
126
|
-
| value |
|
|
127
|
-
* another step
|
|
128
|
-
\"\"\"
|
|
129
|
-
some string
|
|
130
|
-
\"\"\"
|
|
131
|
-
"""
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
@gherkin3
|
|
2
|
-
Feature: Directories can be modeled.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Acceptance criteria
|
|
6
|
-
|
|
7
|
-
1. Directories containing feature files can be modeled:
|
|
8
|
-
- the directory's name
|
|
9
|
-
- the directory's full path
|
|
10
|
-
- all feature files contained
|
|
11
|
-
- all directories contained
|
|
12
|
-
|
|
13
|
-
2. Directories can be outputted in a convenient form
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Background: Setup test directories
|
|
17
|
-
Given a directory "feature_directory"
|
|
18
|
-
And the following feature file "test_file_1.feature":
|
|
19
|
-
"""
|
|
20
|
-
Feature: The test feature 1.
|
|
21
|
-
|
|
22
|
-
Scenario: The first scenario's name.
|
|
23
|
-
Given the first step
|
|
24
|
-
When the second step
|
|
25
|
-
Then the third step
|
|
26
|
-
"""
|
|
27
|
-
And the following feature file "test_file_2.feature":
|
|
28
|
-
"""
|
|
29
|
-
Feature: The test feature 2.
|
|
30
|
-
|
|
31
|
-
Scenario: The first scenario's name.
|
|
32
|
-
Given the first step
|
|
33
|
-
When the second step
|
|
34
|
-
Then the third step
|
|
35
|
-
"""
|
|
36
|
-
And the following feature file "test_file_3.feature":
|
|
37
|
-
"""
|
|
38
|
-
Feature: The test feature 3.
|
|
39
|
-
|
|
40
|
-
Scenario: The first scenario's name.
|
|
41
|
-
Given the first step
|
|
42
|
-
When the second step
|
|
43
|
-
Then the third step
|
|
44
|
-
"""
|
|
45
|
-
And the following file "random.file":
|
|
46
|
-
"""
|
|
47
|
-
Not a .feature file.
|
|
48
|
-
"""
|
|
49
|
-
Given a directory "feature_directory/nested_directory"
|
|
50
|
-
And the following feature file "test_file_4.feature":
|
|
51
|
-
"""
|
|
52
|
-
Feature: The test feature 1.
|
|
53
|
-
|
|
54
|
-
Scenario: The first scenario's name.
|
|
55
|
-
Given the first step
|
|
56
|
-
When the second step
|
|
57
|
-
Then the third step
|
|
58
|
-
"""
|
|
59
|
-
And the following feature file "test_file_5.feature":
|
|
60
|
-
"""
|
|
61
|
-
Feature: The test feature 2.
|
|
62
|
-
|
|
63
|
-
Scenario: The first scenario's name.
|
|
64
|
-
Given the first step
|
|
65
|
-
When the second step
|
|
66
|
-
Then the third step
|
|
67
|
-
"""
|
|
68
|
-
And the following file "another_random.file":
|
|
69
|
-
"""
|
|
70
|
-
Not a .feature file.
|
|
71
|
-
"""
|
|
72
|
-
When the directory "feature_directory" is read
|
|
73
|
-
And the directory "feature_directory/nested_directory" is read
|
|
74
|
-
|
|
75
|
-
Scenario: The directory's name is modeled.
|
|
76
|
-
Then directory "1" is found to have the following properties:
|
|
77
|
-
| name | feature_directory |
|
|
78
|
-
And directory "2" is found to have the following properties:
|
|
79
|
-
| name | nested_directory |
|
|
80
|
-
|
|
81
|
-
Scenario: The directory's full path is modeled.
|
|
82
|
-
Then directory "1" is found to have the following properties:
|
|
83
|
-
| path | path_to/feature_directory |
|
|
84
|
-
And directory "2" is found to have the following properties:
|
|
85
|
-
| path | path_to/feature_directory/nested_directory |
|
|
86
|
-
|
|
87
|
-
Scenario: The directory's feature files are modeled.
|
|
88
|
-
Then directory "1" is found to have the following properties:
|
|
89
|
-
| feature_file_count | 3 |
|
|
90
|
-
And directory "1" feature files are as follows:
|
|
91
|
-
| test_file_1.feature |
|
|
92
|
-
| test_file_2.feature |
|
|
93
|
-
| test_file_3.feature |
|
|
94
|
-
Then directory "2" is found to have the following properties:
|
|
95
|
-
| feature_file_count | 2 |
|
|
96
|
-
And directory "2" feature files are as follows:
|
|
97
|
-
| test_file_4.feature |
|
|
98
|
-
| test_file_5.feature |
|
|
99
|
-
|
|
100
|
-
Scenario: The directory's directories are modeled.
|
|
101
|
-
Then directory "1" is found to have the following properties:
|
|
102
|
-
| directory_count | 1 |
|
|
103
|
-
And directory "1" directories are as follows:
|
|
104
|
-
| nested_directory |
|
|
105
|
-
Then directory "2" is found to have the following properties:
|
|
106
|
-
| directory_count | 0 |
|
|
107
|
-
And directory "2" has no directories
|
|
108
|
-
|
|
109
|
-
Scenario: Convenient output of a directory
|
|
110
|
-
Then the directory has convenient output
|