cuke_modeler 2.1.0 → 3.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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -1
  3. data/README.md +11 -14
  4. data/cuke_modeler.gemspec +12 -9
  5. data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +12 -0
  6. data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +12 -0
  7. data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +12 -0
  8. data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +12 -0
  9. data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +313 -5
  10. data/lib/cuke_modeler/models/background.rb +1 -1
  11. data/lib/cuke_modeler/models/cell.rb +1 -1
  12. data/lib/cuke_modeler/models/comment.rb +1 -1
  13. data/lib/cuke_modeler/models/directory.rb +2 -2
  14. data/lib/cuke_modeler/models/doc_string.rb +1 -1
  15. data/lib/cuke_modeler/models/example.rb +1 -1
  16. data/lib/cuke_modeler/models/feature.rb +1 -1
  17. data/lib/cuke_modeler/models/feature_file.rb +2 -2
  18. data/lib/cuke_modeler/models/outline.rb +1 -1
  19. data/lib/cuke_modeler/models/row.rb +1 -1
  20. data/lib/cuke_modeler/models/scenario.rb +1 -1
  21. data/lib/cuke_modeler/models/step.rb +1 -1
  22. data/lib/cuke_modeler/models/table.rb +1 -1
  23. data/lib/cuke_modeler/models/tag.rb +1 -1
  24. data/lib/cuke_modeler/parsing.rb +29 -58
  25. data/lib/cuke_modeler/version.rb +1 -1
  26. metadata +33 -151
  27. data/.gitignore +0 -18
  28. data/.simplecov +0 -7
  29. data/.travis.yml +0 -81
  30. data/Gemfile +0 -44
  31. data/Rakefile +0 -73
  32. data/appveyor.yml +0 -88
  33. data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +0 -274
  34. data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +0 -297
  35. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +0 -309
  36. data/lib/cuke_modeler/adapters/gherkin_5_adapter.rb +0 -12
  37. data/lib/cuke_modeler/adapters/gherkin_6_adapter.rb +0 -310
  38. data/lib/cuke_modeler/adapters/gherkin_7_adapter.rb +0 -307
  39. data/lib/cuke_modeler/adapters/gherkin_8_adapter.rb +0 -12
  40. data/testing/cucumber/step_definitions/action_steps.rb +0 -13
  41. data/testing/cucumber/step_definitions/background_steps.rb +0 -1
  42. data/testing/cucumber/step_definitions/directory_steps.rb +0 -6
  43. data/testing/cucumber/step_definitions/doc_string_steps.rb +0 -1
  44. data/testing/cucumber/step_definitions/feature_file_steps.rb +0 -16
  45. data/testing/cucumber/step_definitions/feature_steps.rb +0 -7
  46. data/testing/cucumber/step_definitions/modeling_steps.rb +0 -49
  47. data/testing/cucumber/step_definitions/setup_steps.rb +0 -32
  48. data/testing/cucumber/step_definitions/step_steps.rb +0 -3
  49. data/testing/cucumber/step_definitions/table_steps.rb +0 -1
  50. data/testing/cucumber/step_definitions/tag_steps.rb +0 -3
  51. data/testing/cucumber/step_definitions/verification_steps.rb +0 -181
  52. data/testing/cucumber/support/env.rb +0 -30
  53. data/testing/dialect_helper.rb +0 -48
  54. data/testing/file_helper.rb +0 -47
  55. data/testing/gemfiles/gherkin2.gemfile +0 -33
  56. data/testing/gemfiles/gherkin3.gemfile +0 -26
  57. data/testing/gemfiles/gherkin4.gemfile +0 -27
  58. data/testing/gemfiles/gherkin5.gemfile +0 -27
  59. data/testing/gemfiles/gherkin6.gemfile +0 -10
  60. data/testing/gemfiles/gherkin7.gemfile +0 -9
  61. data/testing/gemfiles/gherkin8.gemfile +0 -9
  62. data/testing/gemfiles/gherkin9.gemfile +0 -9
  63. data/testing/helper_methods.rb +0 -23
  64. data/testing/rspec/spec/integration/adapters/gherkin_2_adapter_spec.rb +0 -166
  65. data/testing/rspec/spec/integration/adapters/gherkin_3_adapter_spec.rb +0 -166
  66. data/testing/rspec/spec/integration/adapters/gherkin_4_adapter_spec.rb +0 -165
  67. data/testing/rspec/spec/integration/adapters/gherkin_5_adapter_spec.rb +0 -165
  68. data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +0 -159
  69. data/testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb +0 -162
  70. data/testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb +0 -162
  71. data/testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb +0 -162
  72. data/testing/rspec/spec/integration/models/background_integration_spec.rb +0 -438
  73. data/testing/rspec/spec/integration/models/cell_integration_spec.rb +0 -338
  74. data/testing/rspec/spec/integration/models/comment_integration_spec.rb +0 -180
  75. data/testing/rspec/spec/integration/models/directory_integration_spec.rb +0 -218
  76. data/testing/rspec/spec/integration/models/doc_string_integration_spec.rb +0 -398
  77. data/testing/rspec/spec/integration/models/example_integration_spec.rb +0 -753
  78. data/testing/rspec/spec/integration/models/feature_file_integration_spec.rb +0 -276
  79. data/testing/rspec/spec/integration/models/feature_integration_spec.rb +0 -655
  80. data/testing/rspec/spec/integration/models/model_integration_spec.rb +0 -15
  81. data/testing/rspec/spec/integration/models/outline_integration_spec.rb +0 -619
  82. data/testing/rspec/spec/integration/models/row_integration_spec.rb +0 -303
  83. data/testing/rspec/spec/integration/models/scenario_integration_spec.rb +0 -475
  84. data/testing/rspec/spec/integration/models/step_integration_spec.rb +0 -573
  85. data/testing/rspec/spec/integration/models/table_integration_spec.rb +0 -333
  86. data/testing/rspec/spec/integration/models/tag_integration_spec.rb +0 -271
  87. data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
  88. data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -143
  89. data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
  90. data/testing/rspec/spec/spec_helper.rb +0 -129
  91. data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +0 -25
  92. data/testing/rspec/spec/unit/described_unit_spec.rb +0 -23
  93. data/testing/rspec/spec/unit/models/background_unit_spec.rb +0 -83
  94. data/testing/rspec/spec/unit/models/cell_unit_spec.rb +0 -68
  95. data/testing/rspec/spec/unit/models/comment_unit_spec.rb +0 -68
  96. data/testing/rspec/spec/unit/models/directory_unit_spec.rb +0 -127
  97. data/testing/rspec/spec/unit/models/doc_string_unit_spec.rb +0 -100
  98. data/testing/rspec/spec/unit/models/example_unit_spec.rb +0 -133
  99. data/testing/rspec/spec/unit/models/feature_file_unit_spec.rb +0 -125
  100. data/testing/rspec/spec/unit/models/feature_unit_spec.rb +0 -157
  101. data/testing/rspec/spec/unit/models/model_unit_spec.rb +0 -15
  102. data/testing/rspec/spec/unit/models/outline_unit_spec.rb +0 -117
  103. data/testing/rspec/spec/unit/models/row_unit_spec.rb +0 -68
  104. data/testing/rspec/spec/unit/models/scenario_unit_spec.rb +0 -86
  105. data/testing/rspec/spec/unit/models/step_unit_spec.rb +0 -109
  106. data/testing/rspec/spec/unit/models/table_unit_spec.rb +0 -77
  107. data/testing/rspec/spec/unit/models/tag_unit_spec.rb +0 -68
  108. data/testing/rspec/spec/unit/named_unit_spec.rb +0 -23
  109. data/testing/rspec/spec/unit/nested_unit_spec.rb +0 -43
  110. data/testing/rspec/spec/unit/parsed_unit_spec.rb +0 -27
  111. data/testing/rspec/spec/unit/parsing_unit_spec.rb +0 -54
  112. data/testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb +0 -14
  113. data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +0 -127
  114. data/testing/rspec/spec/unit/shared/described_models_unit_specs.rb +0 -38
  115. data/testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb +0 -58
  116. data/testing/rspec/spec/unit/shared/models_unit_specs.rb +0 -15
  117. data/testing/rspec/spec/unit/shared/named_models_unit_specs.rb +0 -39
  118. data/testing/rspec/spec/unit/shared/nested_models_unit_specs.rb +0 -51
  119. data/testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb +0 -39
  120. data/testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb +0 -18
  121. data/testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb +0 -39
  122. data/testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb +0 -46
  123. data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +0 -18
  124. data/testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb +0 -72
  125. data/testing/rspec/spec/unit/sourceable_unit_spec.rb +0 -27
  126. data/testing/rspec/spec/unit/stepped_unit_spec.rb +0 -23
  127. data/testing/rspec/spec/unit/taggable_unit_spec.rb +0 -69
  128. data/testing/test_languages.json +0 -45
  129. data/todo.txt +0 -25
@@ -1,162 +0,0 @@
1
- require "#{File.dirname(__FILE__)}/../../spec_helper"
2
-
3
-
4
- describe 'Gherkin7Adapter, Integration', :if => gherkin?(7) do
5
-
6
- let(:clazz) { CukeModeler::Gherkin7Adapter }
7
- let(:adapter) { clazz.new }
8
- let(:source_text) { "# feature comment
9
- @tag1 @tag2 @tag3
10
- #{FEATURE_KEYWORD}: A feature with everything it could have
11
-
12
- Including a description
13
- and then some.
14
-
15
- # background comment
16
- #{BACKGROUND_KEYWORD}:
17
-
18
- Background
19
- description
20
-
21
- #{STEP_KEYWORD} a step
22
- # table comment
23
- | value1 |
24
- # table row comment
25
- | value2 |
26
- #{STEP_KEYWORD} another step
27
-
28
- # scenario comment
29
- @scenario_tag
30
- #{SCENARIO_KEYWORD}:
31
-
32
- Scenario
33
- description
34
-
35
- #{STEP_KEYWORD} a step
36
- #{STEP_KEYWORD} another step
37
- \"\"\"
38
- some text
39
- \"\"\"
40
-
41
- # outline comment
42
- @outline_tag
43
- #{OUTLINE_KEYWORD}:
44
-
45
- Outline
46
- description
47
-
48
- # step comment
49
- #{STEP_KEYWORD} a step
50
- # table comment
51
- | value2 |
52
- # step comment
53
- #{STEP_KEYWORD} another step
54
- # doc string comment
55
- \"\"\"
56
- some text
57
- \"\"\"
58
-
59
- # example comment
60
- @example_tag
61
- #{EXAMPLE_KEYWORD}:
62
-
63
- Example
64
- description
65
-
66
- # row comment
67
- | param |
68
- | value |
69
- # final comment" }
70
- let(:feature_file_model) do
71
- test_file_path = CukeModeler::FileHelper.create_feature_file(:text => source_text, :name => 'adapter_test_file')
72
-
73
- CukeModeler::FeatureFile.new(test_file_path)
74
- end
75
- let(:feature_model) { feature_file_model.feature }
76
-
77
-
78
- it "does not store parsing data for a feature file's children" do
79
- model = feature_file_model
80
-
81
- expect(model.parsing_data[:comments]).to be_nil
82
- expect(model.parsing_data[:feature]).to be_nil
83
- end
84
-
85
- it "does not store parsing data for a feature's children" do
86
- model = feature_model
87
-
88
- expect(model.parsing_data[:tags]).to be_nil
89
- expect(model.parsing_data[:children]).to be_nil
90
- end
91
-
92
- it "does not store parsing data for a background's children" do
93
- model = feature_model.background
94
-
95
- expect(model.parsing_data[:background][:steps]).to be_nil
96
- end
97
-
98
- it "does not store parsing data for a scenario's children" do
99
- model = feature_model.scenarios.first
100
-
101
- expect(model.parsing_data[:scenario][:tags]).to be_nil
102
- expect(model.parsing_data[:scenario][:steps]).to be_nil
103
- end
104
-
105
- it "does not store parsing data for an outline's children" do
106
- model = feature_model.outlines.first
107
-
108
- expect(model.parsing_data[:scenario][:tags]).to be_nil
109
- expect(model.parsing_data[:scenario][:steps]).to be_nil
110
- expect(model.parsing_data[:scenario][:examples]).to be_nil
111
- end
112
-
113
- it "does not store parsing data for an example's children" do
114
- model = feature_model.outlines.first.examples.first
115
-
116
- expect(model.parsing_data[:tags]).to be_nil
117
- expect(model.parsing_data[:table_header]).to be_nil
118
- expect(model.parsing_data[:table_body]).to be_nil
119
- end
120
-
121
- it "does not store parsing data for an example row's children" do
122
- model = feature_model.outlines.first.examples.first.rows.first
123
-
124
- expect(model.parsing_data[:cells]).to be_nil
125
- end
126
-
127
- it "does not store parsing data for a step's children, table" do
128
- model = feature_model.outlines.first.steps.first
129
-
130
- expect(model.parsing_data[:data_table]).to be_nil
131
- end
132
-
133
- it "does not store parsing data for a step's children, doc string" do
134
- model = feature_model.outlines.first.steps.last
135
-
136
- expect(model.parsing_data[:doc_string]).to be_nil
137
- end
138
-
139
- it "does not store parsing data for a table's children" do
140
- model = feature_model.outlines.first.steps.first.block
141
-
142
- expect(model.parsing_data[:rows]).to be_nil
143
- end
144
-
145
- it "does not store parsing data for a table row's children" do
146
- model = feature_model.outlines.first.steps.first.block.rows.first
147
-
148
- expect(model.parsing_data[:cells]).to be_nil
149
- end
150
-
151
-
152
- describe 'stuff that is in no way part of the public API and entirely subject to change' do
153
-
154
- it 'provides a useful explosion message if it encounters an entirely new type of test' do
155
- partial_feature_ast = { :type => :Feature, :location => { :line => 1, :column => 1 }, :children => [{ :some_unknown_type => {} }] }
156
-
157
- expect { adapter.adapt_feature!(partial_feature_ast) }.to raise_error(ArgumentError, /Unknown.*some_unknown_type/)
158
- end
159
-
160
- end
161
-
162
- end
@@ -1,162 +0,0 @@
1
- require "#{File.dirname(__FILE__)}/../../spec_helper"
2
-
3
-
4
- describe 'Gherkin8Adapter, Integration', :if => gherkin?(8) do
5
-
6
- let(:clazz) { CukeModeler::Gherkin8Adapter }
7
- let(:adapter) { clazz.new }
8
- let(:source_text) { "# feature comment
9
- @tag1 @tag2 @tag3
10
- #{FEATURE_KEYWORD}: A feature with everything it could have
11
-
12
- Including a description
13
- and then some.
14
-
15
- # background comment
16
- #{BACKGROUND_KEYWORD}:
17
-
18
- Background
19
- description
20
-
21
- #{STEP_KEYWORD} a step
22
- # table comment
23
- | value1 |
24
- # table row comment
25
- | value2 |
26
- #{STEP_KEYWORD} another step
27
-
28
- # scenario comment
29
- @scenario_tag
30
- #{SCENARIO_KEYWORD}:
31
-
32
- Scenario
33
- description
34
-
35
- #{STEP_KEYWORD} a step
36
- #{STEP_KEYWORD} another step
37
- \"\"\"
38
- some text
39
- \"\"\"
40
-
41
- # outline comment
42
- @outline_tag
43
- #{OUTLINE_KEYWORD}:
44
-
45
- Outline
46
- description
47
-
48
- # step comment
49
- #{STEP_KEYWORD} a step
50
- # table comment
51
- | value2 |
52
- # step comment
53
- #{STEP_KEYWORD} another step
54
- # doc string comment
55
- \"\"\"
56
- some text
57
- \"\"\"
58
-
59
- # example comment
60
- @example_tag
61
- #{EXAMPLE_KEYWORD}:
62
-
63
- Example
64
- description
65
-
66
- # row comment
67
- | param |
68
- | value |
69
- # final comment" }
70
- let(:feature_file_model) do
71
- test_file_path = CukeModeler::FileHelper.create_feature_file(:text => source_text, :name => 'adapter_test_file')
72
-
73
- CukeModeler::FeatureFile.new(test_file_path)
74
- end
75
- let(:feature_model) { feature_file_model.feature }
76
-
77
-
78
- it "does not store parsing data for a feature file's children" do
79
- model = feature_file_model
80
-
81
- expect(model.parsing_data[:comments]).to be_nil
82
- expect(model.parsing_data[:feature]).to be_nil
83
- end
84
-
85
- it "does not store parsing data for a feature's children" do
86
- model = feature_model
87
-
88
- expect(model.parsing_data[:tags]).to be_nil
89
- expect(model.parsing_data[:children]).to be_nil
90
- end
91
-
92
- it "does not store parsing data for a background's children" do
93
- model = feature_model.background
94
-
95
- expect(model.parsing_data[:background][:steps]).to be_nil
96
- end
97
-
98
- it "does not store parsing data for a scenario's children" do
99
- model = feature_model.scenarios.first
100
-
101
- expect(model.parsing_data[:scenario][:tags]).to be_nil
102
- expect(model.parsing_data[:scenario][:steps]).to be_nil
103
- end
104
-
105
- it "does not store parsing data for an outline's children" do
106
- model = feature_model.outlines.first
107
-
108
- expect(model.parsing_data[:scenario][:tags]).to be_nil
109
- expect(model.parsing_data[:scenario][:steps]).to be_nil
110
- expect(model.parsing_data[:scenario][:examples]).to be_nil
111
- end
112
-
113
- it "does not store parsing data for an example's children" do
114
- model = feature_model.outlines.first.examples.first
115
-
116
- expect(model.parsing_data[:tags]).to be_nil
117
- expect(model.parsing_data[:table_header]).to be_nil
118
- expect(model.parsing_data[:table_body]).to be_nil
119
- end
120
-
121
- it "does not store parsing data for an example row's children" do
122
- model = feature_model.outlines.first.examples.first.rows.first
123
-
124
- expect(model.parsing_data[:cells]).to be_nil
125
- end
126
-
127
- it "does not store parsing data for a step's children, table" do
128
- model = feature_model.outlines.first.steps.first
129
-
130
- expect(model.parsing_data[:data_table]).to be_nil
131
- end
132
-
133
- it "does not store parsing data for a step's children, doc string" do
134
- model = feature_model.outlines.first.steps.last
135
-
136
- expect(model.parsing_data[:doc_string]).to be_nil
137
- end
138
-
139
- it "does not store parsing data for a table's children" do
140
- model = feature_model.outlines.first.steps.first.block
141
-
142
- expect(model.parsing_data[:rows]).to be_nil
143
- end
144
-
145
- it "does not store parsing data for a table row's children" do
146
- model = feature_model.outlines.first.steps.first.block.rows.first
147
-
148
- expect(model.parsing_data[:cells]).to be_nil
149
- end
150
-
151
-
152
- describe 'stuff that is in no way part of the public API and entirely subject to change' do
153
-
154
- it 'provides a useful explosion message if it encounters an entirely new type of test' do
155
- partial_feature_ast = { :type => :Feature, :location => { :line => 1, :column => 1 }, :children => [{ :some_unknown_type => {} }] }
156
-
157
- expect { adapter.adapt_feature!(partial_feature_ast) }.to raise_error(ArgumentError, /Unknown.*some_unknown_type/)
158
- end
159
-
160
- end
161
-
162
- end
@@ -1,162 +0,0 @@
1
- require "#{File.dirname(__FILE__)}/../../spec_helper"
2
-
3
-
4
- describe 'Gherkin9Adapter, Integration', :if => gherkin?(9) do
5
-
6
- let(:clazz) { CukeModeler::Gherkin9Adapter }
7
- let(:adapter) { clazz.new }
8
- let(:source_text) { "# feature comment
9
- @tag1 @tag2 @tag3
10
- #{FEATURE_KEYWORD}: A feature with everything it could have
11
-
12
- Including a description
13
- and then some.
14
-
15
- # background comment
16
- #{BACKGROUND_KEYWORD}:
17
-
18
- Background
19
- description
20
-
21
- #{STEP_KEYWORD} a step
22
- # table comment
23
- | value1 |
24
- # table row comment
25
- | value2 |
26
- #{STEP_KEYWORD} another step
27
-
28
- # scenario comment
29
- @scenario_tag
30
- #{SCENARIO_KEYWORD}:
31
-
32
- Scenario
33
- description
34
-
35
- #{STEP_KEYWORD} a step
36
- #{STEP_KEYWORD} another step
37
- \"\"\"
38
- some text
39
- \"\"\"
40
-
41
- # outline comment
42
- @outline_tag
43
- #{OUTLINE_KEYWORD}:
44
-
45
- Outline
46
- description
47
-
48
- # step comment
49
- #{STEP_KEYWORD} a step
50
- # table comment
51
- | value2 |
52
- # step comment
53
- #{STEP_KEYWORD} another step
54
- # doc string comment
55
- \"\"\"
56
- some text
57
- \"\"\"
58
-
59
- # example comment
60
- @example_tag
61
- #{EXAMPLE_KEYWORD}:
62
-
63
- Example
64
- description
65
-
66
- # row comment
67
- | param |
68
- | value |
69
- # final comment" }
70
- let(:feature_file_model) do
71
- test_file_path = CukeModeler::FileHelper.create_feature_file(:text => source_text, :name => 'adapter_test_file')
72
-
73
- CukeModeler::FeatureFile.new(test_file_path)
74
- end
75
- let(:feature_model) { feature_file_model.feature }
76
-
77
-
78
- it "does not store parsing data for a feature file's children" do
79
- model = feature_file_model
80
-
81
- expect(model.parsing_data[:comments]).to be_nil
82
- expect(model.parsing_data[:feature]).to be_nil
83
- end
84
-
85
- it "does not store parsing data for a feature's children" do
86
- model = feature_model
87
-
88
- expect(model.parsing_data[:tags]).to be_nil
89
- expect(model.parsing_data[:children]).to be_nil
90
- end
91
-
92
- it "does not store parsing data for a background's children" do
93
- model = feature_model.background
94
-
95
- expect(model.parsing_data[:background][:steps]).to be_nil
96
- end
97
-
98
- it "does not store parsing data for a scenario's children" do
99
- model = feature_model.scenarios.first
100
-
101
- expect(model.parsing_data[:scenario][:tags]).to be_nil
102
- expect(model.parsing_data[:scenario][:steps]).to be_nil
103
- end
104
-
105
- it "does not store parsing data for an outline's children" do
106
- model = feature_model.outlines.first
107
-
108
- expect(model.parsing_data[:scenario][:tags]).to be_nil
109
- expect(model.parsing_data[:scenario][:steps]).to be_nil
110
- expect(model.parsing_data[:scenario][:examples]).to be_nil
111
- end
112
-
113
- it "does not store parsing data for an example's children" do
114
- model = feature_model.outlines.first.examples.first
115
-
116
- expect(model.parsing_data[:tags]).to be_nil
117
- expect(model.parsing_data[:table_header]).to be_nil
118
- expect(model.parsing_data[:table_body]).to be_nil
119
- end
120
-
121
- it "does not store parsing data for an example row's children" do
122
- model = feature_model.outlines.first.examples.first.rows.first
123
-
124
- expect(model.parsing_data[:cells]).to be_nil
125
- end
126
-
127
- it "does not store parsing data for a step's children, table" do
128
- model = feature_model.outlines.first.steps.first
129
-
130
- expect(model.parsing_data[:data_table]).to be_nil
131
- end
132
-
133
- it "does not store parsing data for a step's children, doc string" do
134
- model = feature_model.outlines.first.steps.last
135
-
136
- expect(model.parsing_data[:doc_string]).to be_nil
137
- end
138
-
139
- it "does not store parsing data for a table's children" do
140
- model = feature_model.outlines.first.steps.first.block
141
-
142
- expect(model.parsing_data[:rows]).to be_nil
143
- end
144
-
145
- it "does not store parsing data for a table row's children" do
146
- model = feature_model.outlines.first.steps.first.block.rows.first
147
-
148
- expect(model.parsing_data[:cells]).to be_nil
149
- end
150
-
151
-
152
- describe 'stuff that is in no way part of the public API and entirely subject to change' do
153
-
154
- it 'provides a useful explosion message if it encounters an entirely new type of test' do
155
- partial_feature_ast = { :type => :Feature, :location => { :line => 1, :column => 1 }, :children => [{ :some_unknown_type => {} }] }
156
-
157
- expect { adapter.adapt_feature!(partial_feature_ast) }.to raise_error(ArgumentError, /Unknown.*some_unknown_type/)
158
- end
159
-
160
- end
161
-
162
- end