cuke_modeler 0.4.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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