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,14 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting directory 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 directory
9
- Given a directory element based on "some_directory"
10
- When it is outputted
11
- Then the following text is provided:
12
- """
13
- path_to/some_directory
14
- """
@@ -1,53 +0,0 @@
1
- @gherkin3
2
- Feature: Doc string elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of a doc string can be modeled:
8
- - the doc string's content type
9
- - the doc string's contents
10
- - the doc string's raw element
11
-
12
- 2. Doc string 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 wordy step:
22
- \"\"\" content type
23
- some text
24
-
25
- some more text
26
-
27
- \"\"\"
28
- * some wordy step:
29
- \"\"\"
30
- \"\"\"
31
- """
32
- When the file is read
33
-
34
-
35
- Scenario: The raw doc string element is modeled.
36
- Then the doc string correctly stores its underlying implementation
37
-
38
- Scenario: The doc string's content type is modeled.
39
- Then the step "1" doc string content type is "content type"
40
- And the step "2" doc string has no content type
41
-
42
- Scenario: The doc string's contents are modeled.
43
- Then the step "1" doc string has the following contents:
44
- """
45
- some text
46
-
47
- some more text
48
-
49
- """
50
- And the step "2" doc string contents are empty
51
-
52
- Scenario: Convenient output of an a doc string
53
- Then the doc string has convenient output
@@ -1,72 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting doc string 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 empty doc string
9
- Given a doc string element based on the following gherkin:
10
- """
11
- \"\"\"
12
- \"\"\"
13
- """
14
- When it is outputted
15
- Then the following text is provided:
16
- """
17
- \"\"\"
18
- \"\"\"
19
- """
20
-
21
- Scenario: Output of a doc string without a content type
22
- Given a doc string element based on the following gherkin:
23
- """
24
- \"\"\"
25
- Some text
26
-
27
- some more text
28
-
29
- \"\"\"
30
- """
31
- When it is outputted
32
- Then the following text is provided:
33
- """
34
- \"\"\"
35
- Some text
36
-
37
- some more text
38
-
39
- \"\"\"
40
- """
41
-
42
- Scenario: Output of a doc string with a content type
43
- Given a doc string element based on the following gherkin:
44
- """
45
- \"\"\" the type
46
- Some text
47
-
48
- some more text
49
-
50
- \"\"\"
51
- """
52
- When it is outputted
53
- Then the following text is provided:
54
- """
55
- \"\"\" the type
56
- Some text
57
-
58
- some more text
59
-
60
- \"\"\"
61
- """
62
-
63
- Scenario: Output of a doc string with a triple quotes in its contents
64
-
65
- Since triple quotes mark the beginning and end of a doc string, any triple
66
- quotes inside of the doc string (which would have had to have been escaped
67
- to get inside in the first place) will be escaped when outputted so as to
68
- retain the quality of being able to use the output directly as gherkin.
69
-
70
- Given a doc string element based on the string """" the type\n* a step\n \"\"\"\n that also has a doc string\n \"\"\"\n""""
71
- When it is outputted
72
- Then the text provided is """" the type\n* a step\n \"\"\"\n that also has a doc string\n \"\"\"\n""""
@@ -1,100 +0,0 @@
1
- @gherkin3
2
- Feature: Example elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of an example block can be modeled:
8
- - the example's name
9
- - the example's description
10
- - the example's parameters
11
- - the example's rows
12
- - the example's tags
13
- - the example's applied tags
14
- - the example's source line
15
- - the example's raw element
16
-
17
- 2. Example blocks 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:
28
- * a step
29
-
30
- Examples: text describing the significance of the examples
31
-
32
- Some example description.
33
-
34
- Some more.
35
- Even more.
36
- |param1| param2 | extra param |
37
- |x | y | ? |
38
- |1 | 2 | 3 |
39
- @example_tag @another_one
40
- Examples: some examples with different significance and a tag
41
- | param1 |
42
- | a |
43
- """
44
- And parameter delimiters of "*" and "*"
45
- When the file is read
46
-
47
-
48
- Scenario: The raw example element is modeled.
49
- Then the test example block correctly stores its underlying implementation
50
-
51
- Scenario: The example's source line is modeled.
52
- Then the test example block "1" is found to have the following properties:
53
- | source_line | 8 |
54
- And the test example block "2" is found to have the following properties:
55
- | source_line | 18 |
56
-
57
- Scenario: The examples' name is modeled.
58
- Then the test example block "1" is found to have the following properties:
59
- | name | text describing the significance of the examples |
60
- And the test example block "2" is found to have the following properties:
61
- | name | some examples with different significance and a tag |
62
-
63
- Scenario: The examples' description is modeled.
64
- Then the test example block "1" has the following description:
65
- """
66
- Some example description.
67
-
68
- Some more.
69
- Even more.
70
- """
71
- And the test example block "2" has no description
72
-
73
- Scenario: The examples' tags are modeled.
74
- Then the test example block "1" has no tags
75
- And the test example block "2" is found to have the following tags:
76
- | @example_tag |
77
- | @another_one |
78
-
79
- Scenario: The examples' applied tags are modeled.
80
- Then the test example block "2" is found to have the following applied tags:
81
- | @a_feature_level_tag |
82
- | @outline_tag |
83
-
84
- Scenario: The examples' parameters are modeled.
85
- Then the test example block "1" parameters are as follows:
86
- | param1 |
87
- | param2 |
88
- | extra param |
89
- And the test example block "2" parameters are as follows:
90
- | param1 |
91
-
92
- Scenario: The examples' rows are modeled.
93
- Then the test example block "1" rows are as follows:
94
- | x,y,? |
95
- | 1,2,3 |
96
- And the test example block "2" rows are as follows:
97
- | a |
98
-
99
- Scenario: Convenient output of an example block
100
- Then the example block has convenient output
@@ -1,207 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting example 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 example that does not have a name
9
- Given an example element based on the following gherkin:
10
- """
11
- Examples:
12
- |param|
13
- |value|
14
- """
15
- When it is outputted
16
- Then the following text is provided:
17
- """
18
- Examples:
19
- | param |
20
- | value |
21
- """
22
-
23
- Scenario: Output of an example that does have a name
24
- Given an example element based on the following gherkin:
25
- """
26
- Examples: with a name
27
- |param|
28
- |value|
29
- """
30
- When it is outputted
31
- Then the following text is provided:
32
- """
33
- Examples: with a name
34
- | param |
35
- | value |
36
- """
37
-
38
- Scenario: Output of an example that does not have tags
39
- Given an example element based on the following gherkin:
40
- """
41
- Examples:
42
- |param|
43
- |value|
44
- """
45
- When it is outputted
46
- Then the following text is provided:
47
- """
48
- Examples:
49
- | param |
50
- | value |
51
- """
52
-
53
- Scenario: Output of an example that does have tags
54
- Given an example element based on the following gherkin:
55
- """
56
- @tag1@tag2
57
- @tag3
58
- Examples:
59
- |param|
60
- |value|
61
- """
62
- When it is outputted
63
- Then the following text is provided:
64
- """
65
- @tag1 @tag2 @tag3
66
- Examples:
67
- | param |
68
- | value |
69
- """
70
-
71
- Scenario: Output of an example that has a description, no first line buffer
72
- Given an example element based on the following gherkin:
73
- """
74
- Examples:
75
- Some description.
76
- Some more description.
77
- |param|
78
- |value|
79
- """
80
- When it is outputted
81
- Then the following text is provided:
82
- """
83
- Examples:
84
-
85
- Some description.
86
- Some more description.
87
-
88
- | param |
89
- | value |
90
- """
91
-
92
- Scenario: Output of an example that has a description, first line is blank
93
- Given an example element based on the following gherkin:
94
- """
95
- Examples:
96
-
97
- Some description.
98
- Some more description.
99
- |param|
100
- |value|
101
- """
102
- When it is outputted
103
- Then the following text is provided:
104
- """
105
- Examples:
106
-
107
- Some description.
108
- Some more description.
109
-
110
- | param |
111
- | value |
112
- """
113
-
114
- Scenario: Output of an example that has a description, first line is only whitespace
115
- Given an example element based on the following gherkin:
116
- """
117
- Examples:
118
-
119
- Some description.
120
- Some more description.
121
- |param|
122
- |value|
123
- """
124
- When it is outputted
125
- Then the following text is provided:
126
- """
127
- Examples:
128
-
129
- Some description.
130
- Some more description.
131
-
132
- | param |
133
- | value |
134
- """
135
-
136
- Scenario: Output of an example that has one rows
137
- Given an example element based on the following gherkin:
138
- """
139
- Examples:
140
- |param1|param2|
141
- |value1|value2|
142
- """
143
- When it is outputted
144
- Then the following text is provided:
145
- """
146
- Examples:
147
- | param1 | param2 |
148
- | value1 | value2 |
149
- """
150
-
151
- Scenario: Output of an example that has multiple rows
152
- Given an example element based on the following gherkin:
153
- """
154
- Examples:
155
- |param1|param2|
156
- |value1|value2|
157
- |value3|value4|
158
- """
159
- When it is outputted
160
- Then the following text is provided:
161
- """
162
- Examples:
163
- | param1 | param2 |
164
- | value1 | value2 |
165
- | value3 | value4 |
166
- """
167
-
168
- Scenario: Output of an example that contains all possible parts
169
- Given an example element based on the following gherkin:
170
- """
171
- @tag1@tag2
172
- @tag3
173
- Examples: with a name
174
- Some description.
175
- Some more description.
176
- |param1|param2|
177
- |value1|value2|
178
- |value3|value4|
179
- """
180
- When it is outputted
181
- Then the following text is provided:
182
- """
183
- @tag1 @tag2 @tag3
184
- Examples: with a name
185
-
186
- Some description.
187
- Some more description.
188
-
189
- | param1 | param2 |
190
- | value1 | value2 |
191
- | value3 | value4 |
192
- """
193
-
194
- Scenario: Whitespace buffers are based on the longest value or parameter in a column
195
- Given an example element based on the following gherkin:
196
- """
197
- Examples:
198
- |parameter_name|x|
199
- |y|value_name|
200
- """
201
- When it is outputted
202
- Then the following text is provided:
203
- """
204
- Examples:
205
- | parameter_name | x |
206
- | y | value_name |
207
- """