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,92 +1,69 @@
1
1
  require 'spec_helper'
2
2
 
3
- SimpleCov.command_name('Tag') unless RUBY_VERSION.to_s < '1.9.0'
4
3
 
5
- describe 'Tag, Unit' do
4
+ describe 'Tag, Unit', :unit_test => true do
6
5
 
7
6
  let(:clazz) { CukeModeler::Tag }
8
- let(:element) { clazz.new }
7
+ let(:model) { clazz.new }
9
8
 
10
9
 
11
10
  describe 'common behavior' do
12
11
 
13
- it_should_behave_like 'a nested element'
14
- it_should_behave_like 'a bare bones element'
15
- it_should_behave_like 'a prepopulated element'
16
- it_should_behave_like 'a sourced element'
17
- it_should_behave_like 'a raw element'
12
+ it_should_behave_like 'a model'
13
+ it_should_behave_like 'a sourced model'
14
+ it_should_behave_like 'a parsed model'
18
15
 
19
16
  end
20
17
 
21
18
 
22
19
  describe 'unique behavior' do
23
20
 
24
- it 'can be parsed from stand alone text' do
25
- source = '@a_tag'
26
-
27
- expect { @element = clazz.new(source) }.to_not raise_error
28
- @element.name.should == '@a_tag'
21
+ it 'has a name' do
22
+ expect(model).to respond_to(:name)
29
23
  end
30
24
 
31
- it 'provides a descriptive filename when being parsed from stand alone text' do
32
- source = 'bad tag text'
25
+ it 'can change its name' do
26
+ expect(model).to respond_to(:name=)
33
27
 
34
- expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_tag\.feature'/)
28
+ model.name = :some_name
29
+ expect(model.name).to eq(:some_name)
30
+ model.name = :some_other_name
31
+ expect(model.name).to eq(:some_other_name)
35
32
  end
36
33
 
37
- it 'stores the original data generated by the parsing adapter', :gherkin4 => true do
38
- tag = clazz.new('@a_tag')
39
- raw_data = tag.raw_element
40
34
 
41
- expect(raw_data.keys).to match_array([:type, :location, :name])
42
- expect(raw_data[:type]).to eq(:Tag)
43
- end
35
+ describe 'abstract instantiation' do
44
36
 
45
- it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
46
- tag = clazz.new('@a_tag')
47
- raw_data = tag.raw_element
48
-
49
- expect(raw_data.keys).to match_array([:type, :location, :name])
50
- expect(raw_data[:type]).to eq('Tag')
51
- end
37
+ context 'a new tag object' do
52
38
 
53
- it 'stores the original data generated by the parsing adapter', :gherkin2 => true do
54
- tag = clazz.new('@a_tag')
55
- raw_data = tag.raw_element
39
+ let(:tag) { clazz.new }
56
40
 
57
- expect(raw_data.keys).to match_array(['name', 'line'])
58
- expect(raw_data['name']).to eq('@a_tag')
59
- end
60
41
 
61
- it 'has a name' do
62
- element.should respond_to(:name)
63
- end
42
+ it 'starts with no name' do
43
+ expect(tag.name).to be_nil
44
+ end
64
45
 
65
- it 'can get and set its name' do
66
- expect(element).to respond_to(:name=)
46
+ end
67
47
 
68
- element.name = :some_name
69
- element.name.should == :some_name
70
- element.name = :some_other_name
71
- element.name.should == :some_other_name
72
48
  end
73
49
 
74
- describe 'tag output edge cases' do
50
+ end
75
51
 
76
- it 'is a String' do
77
- element.to_s.should be_a(String)
78
- end
79
52
 
53
+ describe 'tag output' do
80
54
 
81
- context 'a new tag object' do
55
+ it 'is a String' do
56
+ expect(model.to_s).to be_a(String)
57
+ end
82
58
 
83
- let(:tag) { clazz.new }
84
59
 
60
+ context 'from abstract instantiation' do
61
+
62
+ let(:tag) { clazz.new }
85
63
 
86
- it 'can output an empty tag' do
87
- expect { tag.to_s }.to_not raise_error
88
- end
89
64
 
65
+ it 'can output an empty tag' do
66
+ expect { tag.to_s }.to_not raise_error
90
67
  end
91
68
 
92
69
  end
@@ -1,18 +1,17 @@
1
1
  require 'spec_helper'
2
2
 
3
- SimpleCov.command_name('Taggable') unless RUBY_VERSION.to_s < '1.9.0'
4
3
 
5
- describe 'Taggable, Unit' do
4
+ describe 'Taggable, Unit', :unit_test => true do
6
5
 
7
6
  let(:nodule) { CukeModeler::Taggable }
8
- let(:element) { o = Object.new.extend(nodule)
7
+ let(:model) { o = Object.new.extend(nodule)
9
8
 
10
- def o.parent_element
11
- @parent_element
9
+ def o.parent_model
10
+ @parent_model
12
11
  end
13
12
 
14
- def o.parent_element=(parent)
15
- @parent_element = parent
13
+ def o.parent_model=(parent)
14
+ @parent_model = parent
16
15
  end
17
16
 
18
17
  o
@@ -22,62 +21,47 @@ describe 'Taggable, Unit' do
22
21
  describe 'unique behavior' do
23
22
 
24
23
  it 'has tags' do
25
- element.should respond_to(:tags)
26
- element.should respond_to(:tag_elements)
24
+ expect(model).to respond_to(:tags)
27
25
  end
28
26
 
29
27
  it 'can change its tags' do
30
- expect(element).to respond_to(:tags=)
31
- expect(element).to respond_to(:tag_elements=)
32
-
33
- element.tags = :some_tags
34
- element.tags.should == :some_tags
35
- element.tags = :some_other_tags
36
- element.tags.should == :some_other_tags
37
-
38
- element.tag_elements = :some_tag_elements
39
- element.tag_elements.should == :some_tag_elements
40
- element.tag_elements = :some_other_tag_elements
41
- element.tag_elements.should == :some_other_tag_elements
28
+ expect(model).to respond_to(:tags=)
29
+
30
+ model.tags = :some_tags
31
+ expect(model.tags).to eq(:some_tags)
32
+ model.tags = :some_other_tags
33
+ expect(model.tags).to eq(:some_other_tags)
42
34
  end
43
35
 
44
36
  it 'has applied tags' do
45
- element.should respond_to(:applied_tags)
46
- element.should respond_to(:applied_tag_elements)
37
+ expect(model).to respond_to(:applied_tags)
47
38
  end
48
39
 
49
40
  it 'inherits its applied tags from its ancestors' do
50
- all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
51
- all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
52
- parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
41
+ all_parent_tags = [:parent_tag_1, :parent_tag_2, :grandparent_tag_1]
42
+ parent = double(:all_tags => all_parent_tags)
53
43
 
54
- element.parent_element = parent
44
+ model.parent_model = parent
55
45
 
56
- element.applied_tags.should == all_parent_tags
57
- element.applied_tag_elements.should == all_parent_tag_elements
46
+ expect(model.applied_tags).to eq(all_parent_tags)
58
47
  end
59
48
 
60
49
  it 'knows all of its applicable tags' do
61
- all_parent_tag_elements = [:parent_tag_element_1, :parent_tag_element_2, :grandparent_tag_element_1]
62
- all_parent_tags = ['@parent_tag_1', '@parent_tag_2', '@grandparent_tag_1']
63
- own_tags = ['@tag_1', '@tag_2']
64
- own_tag_elements = [:tag_element_1, :tag_element_2]
50
+ all_parent_tags = [:parent_tag_1, :parent_tag_2, :grandparent_tag_1]
51
+ own_tags = [:tag_1, :tag_2]
65
52
 
66
- parent = double(:all_tags => all_parent_tags, :all_tag_elements => all_parent_tag_elements)
53
+ parent = double(:all_tags => all_parent_tags)
67
54
 
68
- element.parent_element = parent
69
- element.tags = own_tags
70
- element.tag_elements = own_tag_elements
55
+ model.parent_model = parent
56
+ model.tags = own_tags
71
57
 
72
- element.all_tags.should == all_parent_tags + own_tags
73
- element.all_tag_elements.should == all_parent_tag_elements + own_tag_elements
58
+ expect(model.all_tags).to eq(all_parent_tags + own_tags)
74
59
  end
75
60
 
76
61
  it 'may have no applied tags' do
77
- element.parent_element = :not_a_tagged_object
62
+ model.parent_model = :not_a_tagged_object
78
63
 
79
- element.applied_tags.should == []
80
- element.applied_tag_elements.should == []
64
+ expect(model.applied_tags).to eq([])
81
65
  end
82
66
 
83
67
  end
data/todo.txt ADDED
@@ -0,0 +1,32 @@
1
+ Priority
2
+ -------------
3
+
4
+ Show less boilerplate code in the documentation
5
+
6
+
7
+
8
+ document helper modules as not part of the public API
9
+
10
+ See if the 'stringio' require is really needed.
11
+ See if the 'version' require is really needed.
12
+ parsing module needs json/multijson require line?
13
+ # todo - remove hard coded newlines in feature files so that Relish and other text editors can wrap them on its own
14
+ # todo - incorporate cuke_modeler extensions from other projects
15
+ # todo - add plenty of testing around weird and minimal gherkin text for all models
16
+
17
+ convert hitory file to .md format
18
+ restructure project into new way that I did the other one
19
+
20
+ Backlog
21
+ -------------
22
+
23
+ replace joined array source text with single string source text/heredocs
24
+ Make sure that specs use clazz instead of fully specifying the class under test (done)
25
+ Don't bother to test directory create/destroy around unit tests
26
+ unit testing around parsing/modeling cases (whitespace, indentation, minimalistic feature elements, etc.)
27
+ replace "\n" usages with the currently set record separator (i.e "\$" )
28
+ Clean up step verifications (done)
29
+ Figure out why using empty files for directory_modeling.feature doesn't work (done)
30
+ Fix transient test failures (permission denied file access problems)
31
+ make sure that all classes and tests are covered and attaches to code coverage
32
+ use 'here doc' for source text construction in rspec tests
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuke_modeler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-12 00:00:00.000000000 Z
11
+ date: 2016-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gherkin
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.14.0
103
+ version: '3.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.14.0
110
+ version: '3.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -167,175 +167,135 @@ files:
167
167
  - Rakefile
168
168
  - cuke_modeler.gemspec
169
169
  - features/analysis/test_comparison.feature
170
- - features/analysis/test_manipulation.feature
171
- - features/modeling/gherkin/background_modeling.feature
172
- - features/modeling/gherkin/background_output.feature
173
- - features/modeling/gherkin/directory_modeling.feature
174
- - features/modeling/gherkin/directory_output.feature
175
- - features/modeling/gherkin/doc_string_modeling.feature
176
- - features/modeling/gherkin/doc_string_output.feature
177
- - features/modeling/gherkin/example_modeling.feature
178
- - features/modeling/gherkin/example_output.feature
179
- - features/modeling/gherkin/feature_file_modeling.feature
180
- - features/modeling/gherkin/feature_file_output.feature
181
- - features/modeling/gherkin/feature_modeling.feature
182
- - features/modeling/gherkin/feature_output.feature
183
- - features/modeling/gherkin/outline_modeling.feature
184
- - features/modeling/gherkin/outline_output.feature
185
- - features/modeling/gherkin/row_modeling.feature
186
- - features/modeling/gherkin/row_output.feature
187
- - features/modeling/gherkin/scenario_modeling.feature
188
- - features/modeling/gherkin/scenario_output.feature
189
- - features/modeling/gherkin/step_modeling.feature
190
- - features/modeling/gherkin/step_output.feature
191
- - features/modeling/gherkin/table_modeling.feature
192
- - features/modeling/gherkin/table_output.feature
193
- - features/modeling/gherkin/table_row_modeling.feature
194
- - features/modeling/gherkin/table_row_output.feature
195
- - features/modeling/gherkin/tag_modeling.feature
196
- - features/modeling/gherkin/tag_output.feature
197
- - features/modeling/gherkin3/background_modeling.feature
198
- - features/modeling/gherkin3/background_output.feature
199
- - features/modeling/gherkin3/directory_modeling.feature
200
- - features/modeling/gherkin3/directory_output.feature
201
- - features/modeling/gherkin3/doc_string_modeling.feature
202
- - features/modeling/gherkin3/doc_string_output.feature
203
- - features/modeling/gherkin3/example_modeling.feature
204
- - features/modeling/gherkin3/example_output.feature
205
- - features/modeling/gherkin3/feature_file_modeling.feature
206
- - features/modeling/gherkin3/feature_file_output.feature
207
- - features/modeling/gherkin3/feature_modeling.feature
208
- - features/modeling/gherkin3/feature_output.feature
209
- - features/modeling/gherkin3/outline_modeling.feature
210
- - features/modeling/gherkin3/outline_output.feature
211
- - features/modeling/gherkin3/row_modeling.feature
212
- - features/modeling/gherkin3/row_output.feature
213
- - features/modeling/gherkin3/scenario_modeling.feature
214
- - features/modeling/gherkin3/scenario_output.feature
215
- - features/modeling/gherkin3/step_modeling.feature
216
- - features/modeling/gherkin3/step_output.feature
217
- - features/modeling/gherkin3/table_modeling.feature
218
- - features/modeling/gherkin3/table_output.feature
219
- - features/modeling/gherkin3/table_row_modeling.feature
220
- - features/modeling/gherkin3/table_row_output.feature
221
- - features/modeling/gherkin3/tag_modeling.feature
222
- - features/modeling/gherkin3/tag_output.feature
223
- - features/modeling/gherkin4/background_modeling.feature
224
- - features/modeling/gherkin4/background_output.feature
225
- - features/modeling/gherkin4/directory_modeling.feature
226
- - features/modeling/gherkin4/directory_output.feature
227
- - features/modeling/gherkin4/doc_string_modeling.feature
228
- - features/modeling/gherkin4/doc_string_output.feature
229
- - features/modeling/gherkin4/example_modeling.feature
230
- - features/modeling/gherkin4/example_output.feature
231
- - features/modeling/gherkin4/feature_file_modeling.feature
232
- - features/modeling/gherkin4/feature_file_output.feature
233
- - features/modeling/gherkin4/feature_modeling.feature
234
- - features/modeling/gherkin4/feature_output.feature
235
- - features/modeling/gherkin4/outline_modeling.feature
236
- - features/modeling/gherkin4/outline_output.feature
237
- - features/modeling/gherkin4/row_modeling.feature
238
- - features/modeling/gherkin4/row_output.feature
239
- - features/modeling/gherkin4/scenario_modeling.feature
240
- - features/modeling/gherkin4/scenario_output.feature
241
- - features/modeling/gherkin4/step_modeling.feature
242
- - features/modeling/gherkin4/step_output.feature
243
- - features/modeling/gherkin4/table_modeling.feature
244
- - features/modeling/gherkin4/table_output.feature
245
- - features/modeling/gherkin4/table_row_modeling.feature
246
- - features/modeling/gherkin4/table_row_output.feature
247
- - features/modeling/gherkin4/tag_modeling.feature
248
- - features/modeling/gherkin4/tag_output.feature
170
+ - features/modeling/background_modeling.feature
171
+ - features/modeling/background_output.feature
172
+ - features/modeling/cell_modeling.feature
173
+ - features/modeling/cell_output.feature
174
+ - features/modeling/directory_modeling.feature
175
+ - features/modeling/directory_output.feature
176
+ - features/modeling/doc_string_modeling.feature
177
+ - features/modeling/doc_string_output.feature
178
+ - features/modeling/example_modeling.feature
179
+ - features/modeling/example_output.feature
180
+ - features/modeling/feature_file_modeling.feature
181
+ - features/modeling/feature_file_output.feature
182
+ - features/modeling/feature_modeling.feature
183
+ - features/modeling/feature_output.feature
184
+ - features/modeling/model_output.feature
185
+ - features/modeling/model_structure.feature
186
+ - features/modeling/outline_modeling.feature
187
+ - features/modeling/outline_output.feature
188
+ - features/modeling/row_modeling.feature
189
+ - features/modeling/row_output.feature
190
+ - features/modeling/scenario_modeling.feature
191
+ - features/modeling/scenario_output.feature
192
+ - features/modeling/step_modeling.feature
193
+ - features/modeling/step_output.feature
194
+ - features/modeling/table_modeling.feature
195
+ - features/modeling/table_output.feature
196
+ - features/modeling/tag_modeling.feature
197
+ - features/modeling/tag_output.feature
249
198
  - features/step_definitions/action_steps.rb
250
199
  - features/step_definitions/background_steps.rb
251
200
  - features/step_definitions/directory_steps.rb
252
201
  - features/step_definitions/doc_string_steps.rb
253
202
  - features/step_definitions/feature_file_steps.rb
254
203
  - features/step_definitions/feature_steps.rb
255
- - features/step_definitions/outline_steps.rb
204
+ - features/step_definitions/modeling_steps.rb
256
205
  - features/step_definitions/setup_steps.rb
257
206
  - features/step_definitions/step_steps.rb
258
207
  - features/step_definitions/table_steps.rb
259
208
  - features/step_definitions/tag_steps.rb
260
- - features/step_definitions/test_steps.rb
261
209
  - features/step_definitions/verification_steps.rb
262
210
  - features/support/env.rb
263
211
  - features/support/transforms.rb
264
- - gemfiles/gherkin.gemfile
212
+ - gemfiles/gherkin2.gemfile
265
213
  - gemfiles/gherkin3.gemfile
266
214
  - gemfiles/gherkin4.gemfile
267
215
  - lib/cuke_modeler.rb
268
216
  - lib/cuke_modeler/adapters/gherkin_2_adapter.rb
269
217
  - lib/cuke_modeler/adapters/gherkin_3_adapter.rb
270
218
  - lib/cuke_modeler/adapters/gherkin_4_adapter.rb
271
- - lib/cuke_modeler/background.rb
272
219
  - lib/cuke_modeler/containing.rb
273
- - lib/cuke_modeler/directory.rb
274
- - lib/cuke_modeler/doc_string.rb
275
- - lib/cuke_modeler/example.rb
276
- - lib/cuke_modeler/feature.rb
277
- - lib/cuke_modeler/feature_element.rb
278
- - lib/cuke_modeler/feature_file.rb
220
+ - lib/cuke_modeler/described.rb
221
+ - lib/cuke_modeler/models/background.rb
222
+ - lib/cuke_modeler/models/cell.rb
223
+ - lib/cuke_modeler/models/directory.rb
224
+ - lib/cuke_modeler/models/doc_string.rb
225
+ - lib/cuke_modeler/models/example.rb
226
+ - lib/cuke_modeler/models/feature.rb
227
+ - lib/cuke_modeler/models/feature_file.rb
228
+ - lib/cuke_modeler/models/model.rb
229
+ - lib/cuke_modeler/models/outline.rb
230
+ - lib/cuke_modeler/models/row.rb
231
+ - lib/cuke_modeler/models/scenario.rb
232
+ - lib/cuke_modeler/models/step.rb
233
+ - lib/cuke_modeler/models/table.rb
234
+ - lib/cuke_modeler/models/tag.rb
235
+ - lib/cuke_modeler/named.rb
279
236
  - lib/cuke_modeler/nested.rb
280
- - lib/cuke_modeler/outline.rb
237
+ - lib/cuke_modeler/parsed.rb
281
238
  - lib/cuke_modeler/parsing.rb
282
- - lib/cuke_modeler/raw.rb
283
- - lib/cuke_modeler/row.rb
284
- - lib/cuke_modeler/scenario.rb
285
239
  - lib/cuke_modeler/sourceable.rb
286
- - lib/cuke_modeler/step.rb
287
- - lib/cuke_modeler/table.rb
288
- - lib/cuke_modeler/table_row.rb
289
- - lib/cuke_modeler/tag.rb
240
+ - lib/cuke_modeler/stepped.rb
290
241
  - lib/cuke_modeler/taggable.rb
291
- - lib/cuke_modeler/test_element.rb
292
242
  - lib/cuke_modeler/version.rb
293
- - lib/cuke_modeler/world.rb
294
243
  - spec/integration/background_integration_spec.rb
244
+ - spec/integration/cell_integration_spec.rb
295
245
  - spec/integration/directory_integration_spec.rb
296
246
  - spec/integration/doc_string_integration_spec.rb
297
247
  - spec/integration/example_integration_spec.rb
298
248
  - spec/integration/feature_file_integration_spec.rb
299
249
  - spec/integration/feature_integration_spec.rb
250
+ - spec/integration/gherkin_2_adapter_spec.rb
251
+ - spec/integration/gherkin_3_adapter_spec.rb
252
+ - spec/integration/gherkin_4_adapter_spec.rb
253
+ - spec/integration/model_integration_spec.rb
254
+ - spec/integration/nested_integration_spec.rb
300
255
  - spec/integration/outline_integration_spec.rb
256
+ - spec/integration/parsing_integration_spec.rb
301
257
  - spec/integration/row_integration_spec.rb
302
258
  - spec/integration/scenario_integration_spec.rb
259
+ - spec/integration/shared/models_integration_specs.rb
303
260
  - spec/integration/step_integration_spec.rb
304
261
  - spec/integration/table_integration_spec.rb
305
- - spec/integration/table_row_integration_spec.rb
306
262
  - spec/integration/tag_integration_spec.rb
307
- - spec/integration/world_integration_spec.rb
308
263
  - spec/spec_helper.rb
309
264
  - spec/unit/background_unit_spec.rb
310
- - spec/unit/bare_bones_unit_specs.rb
311
- - spec/unit/containing_element_unit_specs.rb
265
+ - spec/unit/cell_unit_spec.rb
266
+ - spec/unit/described_unit_spec.rb
312
267
  - spec/unit/directory_unit_spec.rb
313
268
  - spec/unit/doc_string_unit_spec.rb
314
269
  - spec/unit/example_unit_spec.rb
315
- - spec/unit/feature_element_unit_spec.rb
316
- - spec/unit/feature_element_unit_specs.rb
317
270
  - spec/unit/feature_file_unit_spec.rb
318
271
  - spec/unit/feature_unit_spec.rb
319
- - spec/unit/nested_element_unit_specs.rb
272
+ - spec/unit/model_unit_spec.rb
273
+ - spec/unit/named_unit_spec.rb
320
274
  - spec/unit/nested_unit_spec.rb
321
275
  - spec/unit/outline_unit_spec.rb
276
+ - spec/unit/parsed_unit_spec.rb
322
277
  - spec/unit/parsing_unit_spec.rb
323
- - spec/unit/prepopulated_unit_specs.rb
324
- - spec/unit/raw_element_unit_specs.rb
325
- - spec/unit/raw_unit_spec.rb
326
278
  - spec/unit/row_unit_spec.rb
327
279
  - spec/unit/scenario_unit_spec.rb
280
+ - spec/unit/shared/bare_bones_models_unit_specs.rb
281
+ - spec/unit/shared/containing_models_unit_specs.rb
282
+ - spec/unit/shared/described_models_unit_specs.rb
283
+ - spec/unit/shared/models_unit_specs.rb
284
+ - spec/unit/shared/named_models_unit_specs.rb
285
+ - spec/unit/shared/nested_models_unit_specs.rb
286
+ - spec/unit/shared/parsed_models_unit_specs.rb
287
+ - spec/unit/shared/prepopulated_models_unit_specs.rb
288
+ - spec/unit/shared/sourced_models_unit_specs.rb
289
+ - spec/unit/shared/stepped_models_unit_specs.rb
290
+ - spec/unit/shared/stringifiable_models_unit_specs.rb
291
+ - spec/unit/shared/tagged_models_unit_specs.rb
328
292
  - spec/unit/sourceable_unit_spec.rb
329
- - spec/unit/sourced_element_unit_specs.rb
330
293
  - spec/unit/step_unit_spec.rb
331
- - spec/unit/table_row_unit_spec.rb
294
+ - spec/unit/stepped_unit_spec.rb
332
295
  - spec/unit/table_unit_spec.rb
333
296
  - spec/unit/tag_unit_spec.rb
334
297
  - spec/unit/taggable_unit_spec.rb
335
- - spec/unit/tagged_element_unit_specs.rb
336
- - spec/unit/test_element_unit_spec.rb
337
- - spec/unit/test_element_unit_specs.rb
338
- - spec/unit/world_unit_spec.rb
298
+ - todo.txt
339
299
  homepage: https://github.com/enkessler/cuke_modeler
340
300
  licenses:
341
301
  - MIT
@@ -356,148 +316,106 @@ required_rubygems_version: !ruby/object:Gem::Requirement
356
316
  version: '0'
357
317
  requirements: []
358
318
  rubyforge_project:
359
- rubygems_version: 2.4.5.1
319
+ rubygems_version: 2.2.5
360
320
  signing_key:
361
321
  specification_version: 4
362
322
  summary: A gem providing functionality to model a Cucumber test suite.
363
323
  test_files:
364
324
  - features/analysis/test_comparison.feature
365
- - features/analysis/test_manipulation.feature
366
- - features/modeling/gherkin/background_modeling.feature
367
- - features/modeling/gherkin/background_output.feature
368
- - features/modeling/gherkin/directory_modeling.feature
369
- - features/modeling/gherkin/directory_output.feature
370
- - features/modeling/gherkin/doc_string_modeling.feature
371
- - features/modeling/gherkin/doc_string_output.feature
372
- - features/modeling/gherkin/example_modeling.feature
373
- - features/modeling/gherkin/example_output.feature
374
- - features/modeling/gherkin/feature_file_modeling.feature
375
- - features/modeling/gherkin/feature_file_output.feature
376
- - features/modeling/gherkin/feature_modeling.feature
377
- - features/modeling/gherkin/feature_output.feature
378
- - features/modeling/gherkin/outline_modeling.feature
379
- - features/modeling/gherkin/outline_output.feature
380
- - features/modeling/gherkin/row_modeling.feature
381
- - features/modeling/gherkin/row_output.feature
382
- - features/modeling/gherkin/scenario_modeling.feature
383
- - features/modeling/gherkin/scenario_output.feature
384
- - features/modeling/gherkin/step_modeling.feature
385
- - features/modeling/gherkin/step_output.feature
386
- - features/modeling/gherkin/table_modeling.feature
387
- - features/modeling/gherkin/table_output.feature
388
- - features/modeling/gherkin/table_row_modeling.feature
389
- - features/modeling/gherkin/table_row_output.feature
390
- - features/modeling/gherkin/tag_modeling.feature
391
- - features/modeling/gherkin/tag_output.feature
392
- - features/modeling/gherkin3/background_modeling.feature
393
- - features/modeling/gherkin3/background_output.feature
394
- - features/modeling/gherkin3/directory_modeling.feature
395
- - features/modeling/gherkin3/directory_output.feature
396
- - features/modeling/gherkin3/doc_string_modeling.feature
397
- - features/modeling/gherkin3/doc_string_output.feature
398
- - features/modeling/gherkin3/example_modeling.feature
399
- - features/modeling/gherkin3/example_output.feature
400
- - features/modeling/gherkin3/feature_file_modeling.feature
401
- - features/modeling/gherkin3/feature_file_output.feature
402
- - features/modeling/gherkin3/feature_modeling.feature
403
- - features/modeling/gherkin3/feature_output.feature
404
- - features/modeling/gherkin3/outline_modeling.feature
405
- - features/modeling/gherkin3/outline_output.feature
406
- - features/modeling/gherkin3/row_modeling.feature
407
- - features/modeling/gherkin3/row_output.feature
408
- - features/modeling/gherkin3/scenario_modeling.feature
409
- - features/modeling/gherkin3/scenario_output.feature
410
- - features/modeling/gherkin3/step_modeling.feature
411
- - features/modeling/gherkin3/step_output.feature
412
- - features/modeling/gherkin3/table_modeling.feature
413
- - features/modeling/gherkin3/table_output.feature
414
- - features/modeling/gherkin3/table_row_modeling.feature
415
- - features/modeling/gherkin3/table_row_output.feature
416
- - features/modeling/gherkin3/tag_modeling.feature
417
- - features/modeling/gherkin3/tag_output.feature
418
- - features/modeling/gherkin4/background_modeling.feature
419
- - features/modeling/gherkin4/background_output.feature
420
- - features/modeling/gherkin4/directory_modeling.feature
421
- - features/modeling/gherkin4/directory_output.feature
422
- - features/modeling/gherkin4/doc_string_modeling.feature
423
- - features/modeling/gherkin4/doc_string_output.feature
424
- - features/modeling/gherkin4/example_modeling.feature
425
- - features/modeling/gherkin4/example_output.feature
426
- - features/modeling/gherkin4/feature_file_modeling.feature
427
- - features/modeling/gherkin4/feature_file_output.feature
428
- - features/modeling/gherkin4/feature_modeling.feature
429
- - features/modeling/gherkin4/feature_output.feature
430
- - features/modeling/gherkin4/outline_modeling.feature
431
- - features/modeling/gherkin4/outline_output.feature
432
- - features/modeling/gherkin4/row_modeling.feature
433
- - features/modeling/gherkin4/row_output.feature
434
- - features/modeling/gherkin4/scenario_modeling.feature
435
- - features/modeling/gherkin4/scenario_output.feature
436
- - features/modeling/gherkin4/step_modeling.feature
437
- - features/modeling/gherkin4/step_output.feature
438
- - features/modeling/gherkin4/table_modeling.feature
439
- - features/modeling/gherkin4/table_output.feature
440
- - features/modeling/gherkin4/table_row_modeling.feature
441
- - features/modeling/gherkin4/table_row_output.feature
442
- - features/modeling/gherkin4/tag_modeling.feature
443
- - features/modeling/gherkin4/tag_output.feature
325
+ - features/modeling/background_modeling.feature
326
+ - features/modeling/background_output.feature
327
+ - features/modeling/cell_modeling.feature
328
+ - features/modeling/cell_output.feature
329
+ - features/modeling/directory_modeling.feature
330
+ - features/modeling/directory_output.feature
331
+ - features/modeling/doc_string_modeling.feature
332
+ - features/modeling/doc_string_output.feature
333
+ - features/modeling/example_modeling.feature
334
+ - features/modeling/example_output.feature
335
+ - features/modeling/feature_file_modeling.feature
336
+ - features/modeling/feature_file_output.feature
337
+ - features/modeling/feature_modeling.feature
338
+ - features/modeling/feature_output.feature
339
+ - features/modeling/model_output.feature
340
+ - features/modeling/model_structure.feature
341
+ - features/modeling/outline_modeling.feature
342
+ - features/modeling/outline_output.feature
343
+ - features/modeling/row_modeling.feature
344
+ - features/modeling/row_output.feature
345
+ - features/modeling/scenario_modeling.feature
346
+ - features/modeling/scenario_output.feature
347
+ - features/modeling/step_modeling.feature
348
+ - features/modeling/step_output.feature
349
+ - features/modeling/table_modeling.feature
350
+ - features/modeling/table_output.feature
351
+ - features/modeling/tag_modeling.feature
352
+ - features/modeling/tag_output.feature
444
353
  - features/step_definitions/action_steps.rb
445
354
  - features/step_definitions/background_steps.rb
446
355
  - features/step_definitions/directory_steps.rb
447
356
  - features/step_definitions/doc_string_steps.rb
448
357
  - features/step_definitions/feature_file_steps.rb
449
358
  - features/step_definitions/feature_steps.rb
450
- - features/step_definitions/outline_steps.rb
359
+ - features/step_definitions/modeling_steps.rb
451
360
  - features/step_definitions/setup_steps.rb
452
361
  - features/step_definitions/step_steps.rb
453
362
  - features/step_definitions/table_steps.rb
454
363
  - features/step_definitions/tag_steps.rb
455
- - features/step_definitions/test_steps.rb
456
364
  - features/step_definitions/verification_steps.rb
457
365
  - features/support/env.rb
458
366
  - features/support/transforms.rb
459
367
  - spec/integration/background_integration_spec.rb
368
+ - spec/integration/cell_integration_spec.rb
460
369
  - spec/integration/directory_integration_spec.rb
461
370
  - spec/integration/doc_string_integration_spec.rb
462
371
  - spec/integration/example_integration_spec.rb
463
372
  - spec/integration/feature_file_integration_spec.rb
464
373
  - spec/integration/feature_integration_spec.rb
374
+ - spec/integration/gherkin_2_adapter_spec.rb
375
+ - spec/integration/gherkin_3_adapter_spec.rb
376
+ - spec/integration/gherkin_4_adapter_spec.rb
377
+ - spec/integration/model_integration_spec.rb
378
+ - spec/integration/nested_integration_spec.rb
465
379
  - spec/integration/outline_integration_spec.rb
380
+ - spec/integration/parsing_integration_spec.rb
466
381
  - spec/integration/row_integration_spec.rb
467
382
  - spec/integration/scenario_integration_spec.rb
383
+ - spec/integration/shared/models_integration_specs.rb
468
384
  - spec/integration/step_integration_spec.rb
469
385
  - spec/integration/table_integration_spec.rb
470
- - spec/integration/table_row_integration_spec.rb
471
386
  - spec/integration/tag_integration_spec.rb
472
- - spec/integration/world_integration_spec.rb
473
387
  - spec/spec_helper.rb
474
388
  - spec/unit/background_unit_spec.rb
475
- - spec/unit/bare_bones_unit_specs.rb
476
- - spec/unit/containing_element_unit_specs.rb
389
+ - spec/unit/cell_unit_spec.rb
390
+ - spec/unit/described_unit_spec.rb
477
391
  - spec/unit/directory_unit_spec.rb
478
392
  - spec/unit/doc_string_unit_spec.rb
479
393
  - spec/unit/example_unit_spec.rb
480
- - spec/unit/feature_element_unit_spec.rb
481
- - spec/unit/feature_element_unit_specs.rb
482
394
  - spec/unit/feature_file_unit_spec.rb
483
395
  - spec/unit/feature_unit_spec.rb
484
- - spec/unit/nested_element_unit_specs.rb
396
+ - spec/unit/model_unit_spec.rb
397
+ - spec/unit/named_unit_spec.rb
485
398
  - spec/unit/nested_unit_spec.rb
486
399
  - spec/unit/outline_unit_spec.rb
400
+ - spec/unit/parsed_unit_spec.rb
487
401
  - spec/unit/parsing_unit_spec.rb
488
- - spec/unit/prepopulated_unit_specs.rb
489
- - spec/unit/raw_element_unit_specs.rb
490
- - spec/unit/raw_unit_spec.rb
491
402
  - spec/unit/row_unit_spec.rb
492
403
  - spec/unit/scenario_unit_spec.rb
404
+ - spec/unit/shared/bare_bones_models_unit_specs.rb
405
+ - spec/unit/shared/containing_models_unit_specs.rb
406
+ - spec/unit/shared/described_models_unit_specs.rb
407
+ - spec/unit/shared/models_unit_specs.rb
408
+ - spec/unit/shared/named_models_unit_specs.rb
409
+ - spec/unit/shared/nested_models_unit_specs.rb
410
+ - spec/unit/shared/parsed_models_unit_specs.rb
411
+ - spec/unit/shared/prepopulated_models_unit_specs.rb
412
+ - spec/unit/shared/sourced_models_unit_specs.rb
413
+ - spec/unit/shared/stepped_models_unit_specs.rb
414
+ - spec/unit/shared/stringifiable_models_unit_specs.rb
415
+ - spec/unit/shared/tagged_models_unit_specs.rb
493
416
  - spec/unit/sourceable_unit_spec.rb
494
- - spec/unit/sourced_element_unit_specs.rb
495
417
  - spec/unit/step_unit_spec.rb
496
- - spec/unit/table_row_unit_spec.rb
418
+ - spec/unit/stepped_unit_spec.rb
497
419
  - spec/unit/table_unit_spec.rb
498
420
  - spec/unit/tag_unit_spec.rb
499
421
  - spec/unit/taggable_unit_spec.rb
500
- - spec/unit/tagged_element_unit_specs.rb
501
- - spec/unit/test_element_unit_spec.rb
502
- - spec/unit/test_element_unit_specs.rb
503
- - spec/unit/world_unit_spec.rb