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.
Files changed (252) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +17 -17
  3. data/.travis.yml +1 -1
  4. data/Gemfile +4 -0
  5. data/History.rdoc +71 -3
  6. data/LICENSE.txt +22 -22
  7. data/README.md +24 -10
  8. data/Rakefile +2 -12
  9. data/cuke_modeler.gemspec +1 -1
  10. data/features/analysis/test_comparison.feature +37 -122
  11. data/features/modeling/background_modeling.feature +77 -0
  12. data/features/modeling/background_output.feature +42 -0
  13. data/features/modeling/cell_modeling.feature +23 -0
  14. data/features/modeling/cell_output.feature +22 -0
  15. data/features/modeling/directory_modeling.feature +65 -0
  16. data/features/modeling/directory_output.feature +12 -0
  17. data/features/modeling/doc_string_modeling.feature +61 -0
  18. data/features/modeling/doc_string_output.feature +32 -0
  19. data/features/modeling/example_modeling.feature +125 -0
  20. data/features/modeling/example_output.feature +39 -0
  21. data/features/modeling/feature_file_modeling.feature +40 -0
  22. data/features/modeling/feature_file_output.feature +12 -0
  23. data/features/modeling/feature_modeling.feature +109 -0
  24. data/features/modeling/feature_output.feature +104 -0
  25. data/features/modeling/model_output.feature +22 -0
  26. data/features/modeling/model_structure.feature +48 -0
  27. data/features/modeling/outline_modeling.feature +144 -0
  28. data/features/modeling/outline_output.feature +69 -0
  29. data/features/modeling/row_modeling.feature +48 -0
  30. data/features/modeling/row_output.feature +22 -0
  31. data/features/modeling/scenario_modeling.feature +118 -0
  32. data/features/modeling/scenario_output.feature +45 -0
  33. data/features/modeling/step_modeling.feature +84 -0
  34. data/features/modeling/step_output.feature +29 -0
  35. data/features/modeling/table_modeling.feature +50 -0
  36. data/features/modeling/table_output.feature +24 -0
  37. data/features/modeling/tag_modeling.feature +43 -0
  38. data/features/modeling/tag_output.feature +22 -0
  39. data/features/step_definitions/action_steps.rb +11 -1
  40. data/features/step_definitions/background_steps.rb +1 -85
  41. data/features/step_definitions/directory_steps.rb +2 -48
  42. data/features/step_definitions/doc_string_steps.rb +1 -67
  43. data/features/step_definitions/feature_file_steps.rb +2 -37
  44. data/features/step_definitions/feature_steps.rb +4 -100
  45. data/features/step_definitions/modeling_steps.rb +44 -0
  46. data/features/step_definitions/setup_steps.rb +19 -41
  47. data/features/step_definitions/step_steps.rb +2 -166
  48. data/features/step_definitions/table_steps.rb +1 -58
  49. data/features/step_definitions/tag_steps.rb +2 -72
  50. data/features/step_definitions/verification_steps.rb +152 -4
  51. data/features/support/env.rb +4 -6
  52. data/gemfiles/{gherkin.gemfile → gherkin2.gemfile} +4 -0
  53. data/gemfiles/gherkin3.gemfile +4 -0
  54. data/gemfiles/gherkin4.gemfile +4 -0
  55. data/lib/cuke_modeler.rb +24 -22
  56. data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +103 -31
  57. data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +103 -40
  58. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +111 -50
  59. data/lib/cuke_modeler/containing.rb +255 -4
  60. data/lib/cuke_modeler/described.rb +28 -0
  61. data/lib/cuke_modeler/models/background.rb +66 -0
  62. data/lib/cuke_modeler/models/cell.rb +48 -0
  63. data/lib/cuke_modeler/models/directory.rb +95 -0
  64. data/lib/cuke_modeler/models/doc_string.rb +59 -0
  65. data/lib/cuke_modeler/models/example.rb +167 -0
  66. data/lib/cuke_modeler/models/feature.rb +106 -0
  67. data/lib/cuke_modeler/models/feature_file.rb +64 -0
  68. data/lib/cuke_modeler/models/model.rb +32 -0
  69. data/lib/cuke_modeler/models/outline.rb +79 -0
  70. data/lib/cuke_modeler/models/row.rb +49 -0
  71. data/lib/cuke_modeler/models/scenario.rb +69 -0
  72. data/lib/cuke_modeler/models/step.rb +68 -0
  73. data/lib/cuke_modeler/models/table.rb +67 -0
  74. data/lib/cuke_modeler/models/tag.rb +46 -0
  75. data/lib/cuke_modeler/named.rb +19 -0
  76. data/lib/cuke_modeler/nested.rb +22 -15
  77. data/lib/cuke_modeler/parsed.rb +11 -0
  78. data/lib/cuke_modeler/parsing.rb +66 -83
  79. data/lib/cuke_modeler/sourceable.rb +3 -11
  80. data/lib/cuke_modeler/stepped.rb +24 -0
  81. data/lib/cuke_modeler/taggable.rb +6 -29
  82. data/lib/cuke_modeler/version.rb +2 -1
  83. data/spec/integration/background_integration_spec.rb +332 -7
  84. data/spec/integration/cell_integration_spec.rb +321 -0
  85. data/spec/integration/directory_integration_spec.rb +175 -9
  86. data/spec/integration/doc_string_integration_spec.rb +318 -7
  87. data/spec/integration/example_integration_spec.rb +602 -19
  88. data/spec/integration/feature_file_integration_spec.rb +98 -3
  89. data/spec/integration/feature_integration_spec.rb +445 -27
  90. data/spec/integration/gherkin_2_adapter_spec.rb +122 -0
  91. data/spec/integration/gherkin_3_adapter_spec.rb +125 -0
  92. data/spec/integration/gherkin_4_adapter_spec.rb +123 -0
  93. data/spec/integration/model_integration_spec.rb +15 -0
  94. data/spec/integration/nested_integration_spec.rb +91 -0
  95. data/spec/integration/outline_integration_spec.rb +485 -12
  96. data/spec/integration/parsing_integration_spec.rb +85 -0
  97. data/spec/integration/row_integration_spec.rb +221 -18
  98. data/spec/integration/scenario_integration_spec.rb +368 -14
  99. data/spec/integration/shared/models_integration_specs.rb +18 -0
  100. data/spec/integration/step_integration_spec.rb +328 -77
  101. data/spec/integration/table_integration_spec.rb +242 -20
  102. data/spec/integration/tag_integration_spec.rb +178 -13
  103. data/spec/spec_helper.rb +32 -18
  104. data/spec/unit/background_unit_spec.rb +24 -44
  105. data/spec/unit/cell_unit_spec.rb +73 -0
  106. data/spec/unit/described_unit_spec.rb +23 -0
  107. data/spec/unit/directory_unit_spec.rb +52 -62
  108. data/spec/unit/doc_string_unit_spec.rb +47 -100
  109. data/spec/unit/example_unit_spec.rb +50 -296
  110. data/spec/unit/feature_file_unit_spec.rb +53 -52
  111. data/spec/unit/feature_unit_spec.rb +39 -83
  112. data/spec/unit/model_unit_spec.rb +15 -0
  113. data/spec/unit/named_unit_spec.rb +23 -0
  114. data/spec/unit/nested_unit_spec.rb +24 -21
  115. data/spec/unit/outline_unit_spec.rb +46 -69
  116. data/spec/unit/parsed_unit_spec.rb +27 -0
  117. data/spec/unit/parsing_unit_spec.rb +2 -70
  118. data/spec/unit/row_unit_spec.rb +22 -51
  119. data/spec/unit/scenario_unit_spec.rb +27 -59
  120. data/spec/unit/{bare_bones_unit_specs.rb → shared/bare_bones_models_unit_specs.rb} +2 -2
  121. data/spec/unit/shared/containing_models_unit_specs.rb +18 -0
  122. data/spec/unit/shared/described_models_unit_specs.rb +38 -0
  123. data/spec/unit/shared/models_unit_specs.rb +15 -0
  124. data/spec/unit/shared/named_models_unit_specs.rb +39 -0
  125. data/spec/unit/shared/nested_models_unit_specs.rb +51 -0
  126. data/spec/unit/shared/parsed_models_unit_specs.rb +39 -0
  127. data/spec/unit/shared/prepopulated_models_unit_specs.rb +18 -0
  128. data/spec/unit/shared/sourced_models_unit_specs.rb +39 -0
  129. data/spec/unit/shared/stepped_models_unit_specs.rb +46 -0
  130. data/spec/unit/shared/stringifiable_models_unit_specs.rb +18 -0
  131. data/spec/unit/shared/tagged_models_unit_specs.rb +72 -0
  132. data/spec/unit/sourceable_unit_spec.rb +12 -4
  133. data/spec/unit/step_unit_spec.rb +40 -231
  134. data/spec/unit/stepped_unit_spec.rb +23 -0
  135. data/spec/unit/table_unit_spec.rb +27 -89
  136. data/spec/unit/tag_unit_spec.rb +30 -53
  137. data/spec/unit/taggable_unit_spec.rb +26 -42
  138. data/todo.txt +32 -0
  139. metadata +135 -217
  140. data/features/analysis/test_manipulation.feature +0 -37
  141. data/features/modeling/gherkin/background_modeling.feature +0 -65
  142. data/features/modeling/gherkin/background_output.feature +0 -131
  143. data/features/modeling/gherkin/directory_modeling.feature +0 -110
  144. data/features/modeling/gherkin/directory_output.feature +0 -14
  145. data/features/modeling/gherkin/doc_string_modeling.feature +0 -53
  146. data/features/modeling/gherkin/doc_string_output.feature +0 -72
  147. data/features/modeling/gherkin/example_modeling.feature +0 -101
  148. data/features/modeling/gherkin/example_output.feature +0 -193
  149. data/features/modeling/gherkin/feature_file_modeling.feature +0 -54
  150. data/features/modeling/gherkin/feature_file_output.feature +0 -14
  151. data/features/modeling/gherkin/feature_modeling.feature +0 -154
  152. data/features/modeling/gherkin/feature_output.feature +0 -245
  153. data/features/modeling/gherkin/outline_modeling.feature +0 -90
  154. data/features/modeling/gherkin/outline_output.feature +0 -198
  155. data/features/modeling/gherkin/row_modeling.feature +0 -68
  156. data/features/modeling/gherkin/row_output.feature +0 -28
  157. data/features/modeling/gherkin/scenario_modeling.feature +0 -79
  158. data/features/modeling/gherkin/scenario_output.feature +0 -148
  159. data/features/modeling/gherkin/step_modeling.feature +0 -75
  160. data/features/modeling/gherkin/step_output.feature +0 -53
  161. data/features/modeling/gherkin/table_modeling.feature +0 -42
  162. data/features/modeling/gherkin/table_output.feature +0 -43
  163. data/features/modeling/gherkin/table_row_modeling.feature +0 -57
  164. data/features/modeling/gherkin/table_row_output.feature +0 -28
  165. data/features/modeling/gherkin/tag_modeling.feature +0 -48
  166. data/features/modeling/gherkin/tag_output.feature +0 -17
  167. data/features/modeling/gherkin3/background_modeling.feature +0 -64
  168. data/features/modeling/gherkin3/background_output.feature +0 -131
  169. data/features/modeling/gherkin3/directory_modeling.feature +0 -110
  170. data/features/modeling/gherkin3/directory_output.feature +0 -14
  171. data/features/modeling/gherkin3/doc_string_modeling.feature +0 -53
  172. data/features/modeling/gherkin3/doc_string_output.feature +0 -72
  173. data/features/modeling/gherkin3/example_modeling.feature +0 -100
  174. data/features/modeling/gherkin3/example_output.feature +0 -207
  175. data/features/modeling/gherkin3/feature_file_modeling.feature +0 -54
  176. data/features/modeling/gherkin3/feature_file_output.feature +0 -14
  177. data/features/modeling/gherkin3/feature_modeling.feature +0 -155
  178. data/features/modeling/gherkin3/feature_output.feature +0 -249
  179. data/features/modeling/gherkin3/outline_modeling.feature +0 -89
  180. data/features/modeling/gherkin3/outline_output.feature +0 -255
  181. data/features/modeling/gherkin3/row_modeling.feature +0 -68
  182. data/features/modeling/gherkin3/row_output.feature +0 -28
  183. data/features/modeling/gherkin3/scenario_modeling.feature +0 -78
  184. data/features/modeling/gherkin3/scenario_output.feature +0 -148
  185. data/features/modeling/gherkin3/step_modeling.feature +0 -75
  186. data/features/modeling/gherkin3/step_output.feature +0 -53
  187. data/features/modeling/gherkin3/table_modeling.feature +0 -42
  188. data/features/modeling/gherkin3/table_output.feature +0 -43
  189. data/features/modeling/gherkin3/table_row_modeling.feature +0 -57
  190. data/features/modeling/gherkin3/table_row_output.feature +0 -28
  191. data/features/modeling/gherkin3/tag_modeling.feature +0 -49
  192. data/features/modeling/gherkin3/tag_output.feature +0 -17
  193. data/features/modeling/gherkin4/background_modeling.feature +0 -64
  194. data/features/modeling/gherkin4/background_output.feature +0 -131
  195. data/features/modeling/gherkin4/directory_modeling.feature +0 -110
  196. data/features/modeling/gherkin4/directory_output.feature +0 -14
  197. data/features/modeling/gherkin4/doc_string_modeling.feature +0 -53
  198. data/features/modeling/gherkin4/doc_string_output.feature +0 -72
  199. data/features/modeling/gherkin4/example_modeling.feature +0 -100
  200. data/features/modeling/gherkin4/example_output.feature +0 -193
  201. data/features/modeling/gherkin4/feature_file_modeling.feature +0 -54
  202. data/features/modeling/gherkin4/feature_file_output.feature +0 -14
  203. data/features/modeling/gherkin4/feature_modeling.feature +0 -153
  204. data/features/modeling/gherkin4/feature_output.feature +0 -245
  205. data/features/modeling/gherkin4/outline_modeling.feature +0 -89
  206. data/features/modeling/gherkin4/outline_output.feature +0 -198
  207. data/features/modeling/gherkin4/row_modeling.feature +0 -68
  208. data/features/modeling/gherkin4/row_output.feature +0 -28
  209. data/features/modeling/gherkin4/scenario_modeling.feature +0 -78
  210. data/features/modeling/gherkin4/scenario_output.feature +0 -148
  211. data/features/modeling/gherkin4/step_modeling.feature +0 -75
  212. data/features/modeling/gherkin4/step_output.feature +0 -53
  213. data/features/modeling/gherkin4/table_modeling.feature +0 -42
  214. data/features/modeling/gherkin4/table_output.feature +0 -43
  215. data/features/modeling/gherkin4/table_row_modeling.feature +0 -57
  216. data/features/modeling/gherkin4/table_row_output.feature +0 -28
  217. data/features/modeling/gherkin4/tag_modeling.feature +0 -48
  218. data/features/modeling/gherkin4/tag_output.feature +0 -17
  219. data/features/step_definitions/outline_steps.rb +0 -258
  220. data/features/step_definitions/test_steps.rb +0 -123
  221. data/lib/cuke_modeler/background.rb +0 -38
  222. data/lib/cuke_modeler/directory.rb +0 -83
  223. data/lib/cuke_modeler/doc_string.rb +0 -87
  224. data/lib/cuke_modeler/example.rb +0 -195
  225. data/lib/cuke_modeler/feature.rb +0 -147
  226. data/lib/cuke_modeler/feature_element.rb +0 -73
  227. data/lib/cuke_modeler/feature_file.rb +0 -77
  228. data/lib/cuke_modeler/outline.rb +0 -68
  229. data/lib/cuke_modeler/raw.rb +0 -20
  230. data/lib/cuke_modeler/row.rb +0 -64
  231. data/lib/cuke_modeler/scenario.rb +0 -45
  232. data/lib/cuke_modeler/step.rb +0 -216
  233. data/lib/cuke_modeler/table.rb +0 -90
  234. data/lib/cuke_modeler/table_row.rb +0 -64
  235. data/lib/cuke_modeler/tag.rb +0 -62
  236. data/lib/cuke_modeler/test_element.rb +0 -79
  237. data/lib/cuke_modeler/world.rb +0 -113
  238. data/spec/integration/table_row_integration_spec.rb +0 -76
  239. data/spec/integration/world_integration_spec.rb +0 -14
  240. data/spec/unit/containing_element_unit_specs.rb +0 -18
  241. data/spec/unit/feature_element_unit_spec.rb +0 -19
  242. data/spec/unit/feature_element_unit_specs.rb +0 -52
  243. data/spec/unit/nested_element_unit_specs.rb +0 -39
  244. data/spec/unit/prepopulated_unit_specs.rb +0 -14
  245. data/spec/unit/raw_element_unit_specs.rb +0 -27
  246. data/spec/unit/raw_unit_spec.rb +0 -28
  247. data/spec/unit/sourced_element_unit_specs.rb +0 -18
  248. data/spec/unit/table_row_unit_spec.rb +0 -102
  249. data/spec/unit/tagged_element_unit_specs.rb +0 -67
  250. data/spec/unit/test_element_unit_spec.rb +0 -54
  251. data/spec/unit/test_element_unit_specs.rb +0 -34
  252. data/spec/unit/world_unit_spec.rb +0 -140
@@ -1,89 +0,0 @@
1
- @gherkin3
2
- Feature: Outline elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of an outline can be modeled:
8
- - the outline's name
9
- - the outline's description
10
- - the outline's steps
11
- - the outline's tags
12
- - the outline's applied tags
13
- - the outline's example blocks
14
- - the outline's source line
15
- - the outline's raw element
16
-
17
- 2. Outlines can be outputted in a convenient form
18
-
19
-
20
- Background: Test file setup.
21
- Given the following feature file:
22
- """
23
- @a_feature_level_tag
24
- Feature:
25
-
26
- @outline_tag
27
- Scenario Outline: The scenario outline's name.
28
-
29
- Some outline description.
30
-
31
- Some more.
32
- Even more.
33
-
34
- Given a <setup> step
35
- When an action step
36
- Then a <verification> step
37
-
38
- Examples: example 1
39
- | setup | verification |
40
- | x | y |
41
- Examples: example 2
42
- | setup | verification |
43
- | a | b |
44
- """
45
- And parameter delimiters of "*" and "*"
46
- When the file is read
47
-
48
-
49
- Scenario: The raw outline element is modeled.
50
- Then the test correctly stores its underlying implementation
51
-
52
- Scenario: The outline source line is modeled.
53
- Then the test is found to have the following properties:
54
- | source_line | 5 |
55
-
56
- Scenario: The outline name is modeled.
57
- Then the test is found to have the following properties:
58
- | name | The scenario outline's name. |
59
-
60
- Scenario: The outline description is modeled.
61
- Then the test has the following description:
62
- """
63
- Some outline description.
64
-
65
- Some more.
66
- Even more.
67
- """
68
-
69
- Scenario: The outline steps are modeled.
70
- Then the test steps are as follows:
71
- | a <setup> step |
72
- | an action step |
73
- | a <verification> step |
74
-
75
- Scenario: The outline tags are modeled.
76
- Then the test is found to have the following tags:
77
- | @outline_tag |
78
-
79
- Scenario: The outline applied tags are modeled.
80
- Then the test is found to have the following applied tags:
81
- | @a_feature_level_tag |
82
-
83
- Scenario: The outline example blocks are modeled.
84
- And the test example blocks are as follows:
85
- | example 1 |
86
- | example 2 |
87
-
88
- Scenario: Convenient output of an an outline
89
- Then the outline has convenient output
@@ -1,255 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting outline 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 an outline that does not have a name
9
- Given an outline element based on the following gherkin:
10
- """
11
- Scenario Outline:
12
- Examples:
13
- | param |
14
- | y |
15
- """
16
- When it is outputted
17
- Then the following text is provided:
18
- """
19
- Scenario Outline:
20
-
21
- Examples:
22
- | param |
23
- | y |
24
- """
25
-
26
- Scenario: Output of an outline that does have a name
27
- Given an outline element based on the following gherkin:
28
- """
29
- Scenario Outline: with a name
30
-
31
- Examples:
32
- | param |
33
- | y |
34
- """
35
- When it is outputted
36
- Then the following text is provided:
37
- """
38
- Scenario Outline: with a name
39
-
40
- Examples:
41
- | param |
42
- | y |
43
- """
44
-
45
- Scenario: Output of an outline that does have tags
46
- Given an outline element based on the following gherkin:
47
- """
48
- @tag1@tag2
49
- @tag3
50
- Scenario Outline:
51
-
52
- Examples:
53
- | param |
54
- | y |
55
- """
56
- When it is outputted
57
- Then the following text is provided:
58
- """
59
- @tag1 @tag2 @tag3
60
- Scenario Outline:
61
-
62
- Examples:
63
- | param |
64
- | y |
65
- """
66
-
67
- Scenario: Output of an outline that has a description, no first line buffer
68
- Given an outline element based on the following gherkin:
69
- """
70
- Scenario Outline:
71
- Some description.
72
- Some more description.
73
-
74
- Examples:
75
- | param |
76
- | y |
77
- """
78
- When it is outputted
79
- Then the following text is provided:
80
- """
81
- Scenario Outline:
82
-
83
- Some description.
84
- Some more description.
85
-
86
- Examples:
87
- | param |
88
- | y |
89
- """
90
-
91
- Scenario: Output of an outline that has a description, first line is blank
92
- Given an outline element based on the following gherkin:
93
- """
94
- Scenario Outline:
95
-
96
- Some description.
97
- Some more description.
98
-
99
-
100
- Examples:
101
- | param |
102
- | y |
103
- """
104
- When it is outputted
105
- Then the following text is provided:
106
- """
107
- Scenario Outline:
108
-
109
- Some description.
110
- Some more description.
111
-
112
- Examples:
113
- | param |
114
- | y |
115
- """
116
-
117
- Scenario: Output of an outline that has a description, first line is only whitespace
118
- Given an outline element based on the following gherkin:
119
- """
120
- Scenario Outline:
121
-
122
- Some description.
123
- Some more description.
124
-
125
-
126
- Examples:
127
- | param |
128
- | y |
129
- """
130
- When it is outputted
131
- Then the following text is provided:
132
- """
133
- Scenario Outline:
134
-
135
- Some description.
136
- Some more description.
137
-
138
- Examples:
139
- | param |
140
- | y |
141
- """
142
-
143
- Scenario: Output of an outline that has steps
144
- Given an outline element based on the following gherkin:
145
- """
146
- Scenario Outline:
147
- * a step
148
- |value|
149
- * another step
150
- \"\"\"
151
- some string
152
- \"\"\"
153
-
154
- Examples:
155
- | param |
156
- | y |
157
- """
158
- When it is outputted
159
- Then the following text is provided:
160
- """
161
- Scenario Outline:
162
- * a step
163
- | value |
164
- * another step
165
- \"\"\"
166
- some string
167
- \"\"\"
168
-
169
- Examples:
170
- | param |
171
- | y |
172
- """
173
-
174
- Scenario: Output of an outline that has examples
175
- Given an outline element based on the following gherkin:
176
- """
177
- Scenario Outline:
178
- * a <value> step
179
- Examples:
180
- | value |
181
- | x |
182
- @example_tag
183
- Examples:
184
- | value |
185
- | y |
186
- """
187
- When it is outputted
188
- Then the following text is provided:
189
- """
190
- Scenario Outline:
191
- * a <value> step
192
-
193
- Examples:
194
- | value |
195
- | x |
196
-
197
- @example_tag
198
- Examples:
199
- | value |
200
- | y |
201
- """
202
-
203
- Scenario: Output of an outline that contains all possible parts
204
- Given an outline element based on the following gherkin:
205
- """
206
- @tag1@tag2
207
- @tag3
208
- Scenario Outline: An outline with everything it could have
209
- Some description.
210
- Some more description.
211
- * a step
212
- |value|
213
- * a <value> step
214
- \"\"\"
215
- some string
216
- \"\"\"
217
- Examples:
218
- Some description.
219
- Some more description.
220
- | value |
221
- | x |
222
- @example_tag
223
- Examples:
224
- | value |
225
- | y |
226
- """
227
- When it is outputted
228
- Then the following text is provided:
229
- """
230
- @tag1 @tag2 @tag3
231
- Scenario Outline: An outline with everything it could have
232
-
233
- Some description.
234
- Some more description.
235
-
236
- * a step
237
- | value |
238
- * a <value> step
239
- \"\"\"
240
- some string
241
- \"\"\"
242
-
243
- Examples:
244
-
245
- Some description.
246
- Some more description.
247
-
248
- | value |
249
- | x |
250
-
251
- @example_tag
252
- Examples:
253
- | value |
254
- | y |
255
- """
@@ -1,68 +0,0 @@
1
- @gherkin3
2
- Feature: Row elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of a 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 Outline:
21
- * a step
22
- Examples:
23
- | param1 | param2 | extra param |
24
- | x | y | ? |
25
- | 1 | 2 | 3 |
26
- Examples:
27
- | param1 |
28
- | a |
29
- """
30
- And parameter delimiters of "*" and "*"
31
- When the file is read
32
-
33
-
34
- Scenario: The raw row element is modeled.
35
- Then the test example block row correctly stores its underlying implementation
36
-
37
- Scenario: The row's source line is modeled.
38
- Then the test example block "1" row "1" is found to have the following properties:
39
- | source_line | 6 |
40
- And the test example block "1" row "2" is found to have the following properties:
41
- | source_line | 7 |
42
- And the test example block "1" row "3" is found to have the following properties:
43
- | source_line | 8 |
44
- And the test example block "2" row "1" is found to have the following properties:
45
- | source_line | 10 |
46
- And the test example block "2" row "2" is found to have the following properties:
47
- | source_line | 11 |
48
-
49
- Scenario: The row's cells are modeled.
50
- Then the test example block "1" row "1" cells are as follows:
51
- | param1 |
52
- | param2 |
53
- | extra param |
54
- And the test example block "1" row "2" cells are as follows:
55
- | x |
56
- | y |
57
- | ? |
58
- And the test example block "1" row "3" cells are as follows:
59
- | 1 |
60
- | 2 |
61
- | 3 |
62
- And the test example block "2" row "1" cells are as follows:
63
- | param1 |
64
- And the test example block "2" row "2" cells are as follows:
65
- | a |
66
-
67
- Scenario: Convenient output of a row
68
- Then the row has convenient output
@@ -1,28 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting 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 row that has one cell
9
- Given a 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 row that has multiple cells
20
- Given a 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,78 +0,0 @@
1
- @gherkin3
2
- Feature: Scenario elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of a scenario can be modeled:
8
- - the scenario's name
9
- - the scenario's description
10
- - the scenario's steps
11
- - the scenario's tags
12
- - the scenario's applied tags
13
- - the scenario's source line
14
- - the scenario's raw element
15
-
16
- 2. Scenarios can be outputted in a convenient form
17
-
18
-
19
- Background: Test file setup.
20
- Given the following feature file:
21
- """
22
- @a_feature_level_tag
23
- Feature:
24
-
25
- @a_tag
26
- @another_tag
27
- Scenario:The first scenario's name.
28
-
29
- Some scenario description.
30
-
31
- Some more.
32
- Even more.
33
-
34
- Given a setup step
35
- When an action step
36
- Then a verification step
37
- """
38
- And parameter delimiters of "*" and "*"
39
- When the file is read
40
-
41
-
42
- Scenario: The raw scenario element is modeled.
43
- Then the test correctly stores its underlying implementation
44
-
45
- Scenario: The scenario source line is modeled.
46
- Then the test is found to have the following properties:
47
- | source_line | 6 |
48
-
49
- Scenario: The scenario name is modeled.
50
- Then the test is found to have the following properties:
51
- | name | The first scenario's name. |
52
-
53
- Scenario: The scenario description is modeled.
54
- Then the test has the following description:
55
- """
56
- Some scenario description.
57
-
58
- Some more.
59
- Even more.
60
- """
61
-
62
- Scenario: The scenario steps are modeled.
63
- Then the test steps are as follows:
64
- | a setup step |
65
- | an action step |
66
- | a verification step |
67
-
68
- Scenario: The scenario tags are modeled.
69
- Then the test is found to have the following tags:
70
- | @a_tag |
71
- | @another_tag |
72
-
73
- Scenario: The scenario applied tags are modeled.
74
- Then the test is found to have the following applied tags:
75
- | @a_feature_level_tag |
76
-
77
- Scenario: Convenient output of a scenario
78
- Then the scenario has convenient output