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,148 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting scenario 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 scenario that does not have a name
9
- Given a scenario element based on the following gherkin:
10
- """
11
- Scenario:
12
- """
13
- When it is outputted
14
- Then the following text is provided:
15
- """
16
- Scenario:
17
- """
18
-
19
- Scenario: Output of a scenario that does have a name
20
- Given a scenario element based on the following gherkin:
21
- """
22
- Scenario: with a name
23
- """
24
- When it is outputted
25
- Then the following text is provided:
26
- """
27
- Scenario: with a name
28
- """
29
-
30
- Scenario: Output of a scenario that has tags
31
- Given a scenario element based on the following gherkin:
32
- """
33
- @tag1@tag2
34
- @tag3
35
- Scenario:
36
- """
37
- When it is outputted
38
- Then the following text is provided:
39
- """
40
- @tag1 @tag2 @tag3
41
- Scenario:
42
- """
43
-
44
- Scenario: Output of a scenario that has a description, no first line buffer
45
- Given a scenario element based on the following gherkin:
46
- """
47
- Scenario:
48
- Some description.
49
- Some more description.
50
- """
51
- When it is outputted
52
- Then the following text is provided:
53
- """
54
- Scenario:
55
-
56
- Some description.
57
- Some more description.
58
- """
59
-
60
- Scenario: Output of a scenario that has a description, first line is blank
61
- Given a scenario element based on the following gherkin:
62
- """
63
- Scenario:
64
-
65
- Some description.
66
- Some more description.
67
- """
68
- When it is outputted
69
- Then the following text is provided:
70
- """
71
- Scenario:
72
-
73
- Some description.
74
- Some more description.
75
- """
76
-
77
- Scenario: Output of a scenario that has a description, first line is only whitespace
78
- Given a scenario element based on the following gherkin:
79
- """
80
- Scenario:
81
-
82
- Some description.
83
- Some more description.
84
- """
85
- When it is outputted
86
- Then the following text is provided:
87
- """
88
- Scenario:
89
-
90
- Some description.
91
- Some more description.
92
- """
93
-
94
- Scenario: Output of a scenario that has steps
95
- Given a scenario element based on the following gherkin:
96
- """
97
- Scenario:
98
- * a step
99
- |value|
100
- * another step
101
- \"\"\"
102
- some string
103
- \"\"\"
104
- """
105
- When it is outputted
106
- Then the following text is provided:
107
- """
108
- Scenario:
109
- * a step
110
- | value |
111
- * another step
112
- \"\"\"
113
- some string
114
- \"\"\"
115
- """
116
-
117
- Scenario: Output of a scenario that contains all possible parts
118
- Given a scenario element based on the following gherkin:
119
- """
120
- @tag1@tag2
121
- @tag3
122
- Scenario: A scenario with everything it could have
123
- Including a description
124
- and then some.
125
-
126
- * a step
127
- |value|
128
- * another step
129
- \"\"\"
130
- some string
131
- \"\"\"
132
- """
133
- When it is outputted
134
- Then the following text is provided:
135
- """
136
- @tag1 @tag2 @tag3
137
- Scenario: A scenario with everything it could have
138
-
139
- Including a description
140
- and then some.
141
-
142
- * a step
143
- | value |
144
- * another step
145
- \"\"\"
146
- some string
147
- \"\"\"
148
- """
@@ -1,75 +0,0 @@
1
- @gherkin3
2
- Feature: Step elements can be modeled.
3
-
4
-
5
- Acceptance criteria
6
-
7
- 1. All conceptual pieces of a step can be modeled:
8
- - the step's keyword
9
- - the text of the step
10
- - the step's arguments, if any
11
- - the step's associated block, if any
12
- - the step's source line
13
- - the step's raw element
14
-
15
- 2. Steps can be outputted in a convenient form
16
-
17
-
18
- Background: Test file setup.
19
- Given the following feature file:
20
- """
21
- Feature:
22
-
23
- Scenario:
24
- Given some setup step
25
- And some big setup step:
26
- \"\"\" content_type
27
- some text
28
- some more text
29
- \"\"\"
30
- When this *parameterized* step takes a table:
31
- | data | a header |
32
- | more data | a value |
33
- Then a step with a *parameter*
34
- """
35
- And parameter delimiters of "*" and "*"
36
- When the file is read
37
-
38
-
39
- Scenario: The raw step element is modeled.
40
- Then the test step correctly stores its underlying implementation
41
-
42
- Scenario: The step's source line is modeled.
43
- Then the test step "1" source line is "4"
44
- And the test step "2" source line is "5"
45
- And the test step "3" source line is "10"
46
- And the test step "4" source line is "13"
47
-
48
- Scenario: The step's keyword is modeled.
49
- Then the test step "1" keyword is "Given"
50
- And the test step "2" keyword is "And"
51
- And the test step "3" keyword is "When"
52
- And the test step "4" keyword is "Then"
53
-
54
- Scenario: The text of the step is modeled.
55
- Then test step "1" text is "some setup step"
56
- And test step "2" text is "some big setup step:"
57
- And test step "3" text is "this *parameterized* step takes a table:"
58
- And test step "4" text is "a step with a *parameter*"
59
-
60
- Scenario: The step's arguments are modeled.
61
- Then test step "1" has no arguments
62
- And test step "2" has no arguments
63
- And test step "3" arguments are:
64
- | parameterized |
65
- And test step "4" arguments are:
66
- | parameter |
67
-
68
- Scenario: The steps's block is modeled.
69
- Then step "1" has no block
70
- Then step "2" has a "doc string"
71
- And step "3" has a "table"
72
- And step "4" has no block
73
-
74
- Scenario: Convenient output of a step
75
- Then the step has convenient output
@@ -1,53 +0,0 @@
1
- @gherkin3
2
- Feature: Outputting step 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 step without a block
9
- Given a step element based on the following gherkin:
10
- """
11
- * a step
12
- """
13
- When it is outputted
14
- Then the following text is provided:
15
- """
16
- * a step
17
- """
18
-
19
- Scenario: Output of a step with a doc string
20
- Given a step element based on the following gherkin:
21
- """
22
- * a step
23
- \"\"\"
24
- Some text
25
-
26
- some more text
27
- \"\"\"
28
- """
29
- When it is outputted
30
- Then the following text is provided:
31
- """
32
- * a step
33
- \"\"\"
34
- Some text
35
-
36
- some more text
37
- \"\"\"
38
- """
39
-
40
- Scenario: Output of a step with a table
41
- Given a step element based on the following gherkin:
42
- """
43
- * a step
44
- |value1|
45
- |value2|
46
- """
47
- When it is outputted
48
- Then the following text is provided:
49
- """
50
- * a step
51
- | value1 |
52
- | value2 |
53
- """
@@ -1,42 +0,0 @@
1
- @gherkin3
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
- @gherkin3
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
- @gherkin3
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
- @gherkin3
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
- """