cuke_modeler 1.2.1 → 1.3.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.
- checksums.yaml +4 -4
- data/.simplecov +1 -2
- data/.travis.yml +4 -3
- data/Gemfile +1 -1
- data/History.md +5 -0
- data/README.md +2 -1
- data/Rakefile +19 -0
- data/appveyor.yml +19 -18
- data/cuke_modeler.gemspec +1 -1
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +1 -1
- data/lib/cuke_modeler/parsing.rb +1 -1
- data/lib/cuke_modeler/version.rb +1 -1
- data/testing/cucumber/features/analysis/test_comparison.feature +1 -4
- data/testing/cucumber/features/modeling/background_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/background_output.feature +1 -2
- data/testing/cucumber/features/modeling/cell_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/comment_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/comment_output.feature +1 -2
- data/testing/cucumber/features/modeling/directory_modeling.feature +1 -4
- data/testing/cucumber/features/modeling/directory_output.feature +1 -2
- data/testing/cucumber/features/modeling/doc_string_modeling.feature +1 -3
- data/testing/cucumber/features/modeling/doc_string_output.feature +1 -2
- data/testing/cucumber/features/modeling/example_modeling.feature +1 -3
- data/testing/cucumber/features/modeling/example_output.feature +1 -2
- data/testing/cucumber/features/modeling/feature_file_modeling.feature +1 -3
- data/testing/cucumber/features/modeling/feature_file_output.feature +1 -2
- data/testing/cucumber/features/modeling/feature_modeling.feature +2 -5
- data/testing/cucumber/features/modeling/feature_output.feature +1 -2
- data/testing/cucumber/features/modeling/model_output.feature +1 -3
- data/testing/cucumber/features/modeling/model_structure.feature +3 -9
- data/testing/cucumber/features/modeling/outline_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/outline_output.feature +1 -2
- data/testing/cucumber/features/modeling/row_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/row_output.feature +1 -2
- data/testing/cucumber/features/modeling/scenario_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/scenario_output.feature +1 -2
- data/testing/cucumber/features/modeling/step_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/step_output.feature +1 -2
- data/testing/cucumber/features/modeling/table_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/table_output.feature +1 -2
- data/testing/cucumber/features/modeling/tag_modeling.feature +1 -2
- data/testing/cucumber/features/modeling/tag_output.feature +1 -2
- data/testing/cucumber/step_definitions/directory_steps.rb +1 -1
- data/testing/cucumber/step_definitions/feature_file_steps.rb +1 -1
- data/testing/cucumber/step_definitions/modeling_steps.rb +1 -1
- data/testing/cucumber/step_definitions/setup_steps.rb +4 -6
- data/testing/cucumber/step_definitions/verification_steps.rb +3 -3
- data/testing/cucumber/support/env.rb +7 -14
- data/testing/file_helper.rb +44 -0
- data/testing/gemfiles/gherkin5.gemfile +20 -0
- data/testing/rspec/spec/integration/background_integration_spec.rb +17 -15
- data/testing/rspec/spec/integration/cell_integration_spec.rb +69 -79
- data/testing/rspec/spec/integration/comment_integration_spec.rb +16 -15
- data/testing/rspec/spec/integration/directory_integration_spec.rb +46 -55
- data/testing/rspec/spec/integration/doc_string_integration_spec.rb +73 -80
- data/testing/rspec/spec/integration/example_integration_spec.rb +53 -36
- data/testing/rspec/spec/integration/feature_file_integration_spec.rb +27 -42
- data/testing/rspec/spec/integration/feature_integration_spec.rb +12 -11
- data/testing/rspec/spec/integration/gherkin_2_adapter_spec.rb +14 -16
- data/testing/rspec/spec/integration/gherkin_3_adapter_spec.rb +14 -16
- data/testing/rspec/spec/integration/gherkin_4_adapter_spec.rb +14 -16
- data/testing/rspec/spec/integration/outline_integration_spec.rb +20 -18
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +1 -1
- data/testing/rspec/spec/integration/row_integration_spec.rb +57 -64
- data/testing/rspec/spec/integration/scenario_integration_spec.rb +17 -15
- data/testing/rspec/spec/integration/step_integration_spec.rb +48 -55
- data/testing/rspec/spec/integration/table_integration_spec.rb +54 -61
- data/testing/rspec/spec/integration/tag_integration_spec.rb +61 -67
- data/testing/rspec/spec/spec_helper.rb +5 -16
- data/testing/rspec/spec/unit/background_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/cell_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/comment_unit_spec.rb +0 -6
- data/testing/rspec/spec/unit/directory_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/doc_string_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/example_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/feature_file_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/feature_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/outline_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/row_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/scenario_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +1 -1
- data/testing/rspec/spec/unit/step_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/table_unit_spec.rb +0 -5
- data/testing/rspec/spec/unit/tag_unit_spec.rb +0 -5
- data/todo.txt +0 -4
- metadata +6 -4
@@ -420,8 +420,26 @@ describe 'Example, Integration' do
|
|
420
420
|
source = "#{@example_keyword}:\n|param1|param2|\n|value1|value2|"
|
421
421
|
example = clazz.new(source)
|
422
422
|
|
423
|
-
hash_row = {'param1' => 'param1
|
424
|
-
array_row = ['param1', '
|
423
|
+
hash_row = {'param1' => 'param1', 'param2' => 'param2'}
|
424
|
+
array_row = ['param1', 'param2']
|
425
|
+
|
426
|
+
example.remove_row(hash_row)
|
427
|
+
row_cell_values = example.rows.collect { |row| row.cells.collect { |cell| cell.value } }
|
428
|
+
|
429
|
+
expect(row_cell_values).to eq([['param1', 'param2'], ['value1', 'value2']])
|
430
|
+
|
431
|
+
example.remove_row(array_row)
|
432
|
+
row_cell_values = example.rows.collect { |row| row.cells.collect { |cell| cell.value } }
|
433
|
+
|
434
|
+
expect(row_cell_values).to eq([['param1', 'param2'], ['value1', 'value2']])
|
435
|
+
end
|
436
|
+
|
437
|
+
it 'will remove an argument row that is the same as the parameter row' do
|
438
|
+
source = "#{@example_keyword}:\n|param1|param2|\n|value1|value2|\n|param1|param2|"
|
439
|
+
example = clazz.new(source)
|
440
|
+
|
441
|
+
hash_row = {'param1' => 'param1', 'param2' => 'param2'}
|
442
|
+
array_row = ['param1', 'param2']
|
425
443
|
|
426
444
|
example.remove_row(hash_row)
|
427
445
|
row_cell_values = example.rows.collect { |row| row.cells.collect { |cell| cell.value } }
|
@@ -440,69 +458,68 @@ describe 'Example, Integration' do
|
|
440
458
|
describe 'getting ancestors' do
|
441
459
|
|
442
460
|
before(:each) do
|
443
|
-
|
461
|
+
CukeModeler::FileHelper.create_feature_file(:text => source_gherkin, :name => 'example_test_file', :directory => test_directory)
|
462
|
+
end
|
444
463
|
|
445
|
-
#{@outline_keyword}: Test test
|
446
|
-
#{@step_keyword} a step
|
447
|
-
#{@example_keyword}: Test example
|
448
|
-
| a param |
|
449
|
-
| a value |"
|
450
464
|
|
451
|
-
|
452
|
-
|
453
|
-
|
465
|
+
let(:test_directory) { CukeModeler::FileHelper.create_directory }
|
466
|
+
let(:source_gherkin) { "#{@feature_keyword}: Test feature
|
467
|
+
|
468
|
+
#{@outline_keyword}: Test test
|
469
|
+
#{@step_keyword} a step
|
470
|
+
#{@example_keyword}: Test example
|
471
|
+
| a param |
|
472
|
+
| a value |"
|
473
|
+
}
|
454
474
|
|
455
|
-
let(:
|
456
|
-
let(:
|
475
|
+
let(:directory_model) { CukeModeler::Directory.new(test_directory) }
|
476
|
+
let(:example_model) { directory_model.feature_files.first.feature.tests.first.examples.first }
|
457
477
|
|
458
478
|
|
459
479
|
it 'can get its directory' do
|
460
|
-
ancestor =
|
480
|
+
ancestor = example_model.get_ancestor(:directory)
|
461
481
|
|
462
|
-
expect(ancestor).to equal(
|
482
|
+
expect(ancestor).to equal(directory_model)
|
463
483
|
end
|
464
484
|
|
465
485
|
it 'can get its feature file' do
|
466
|
-
ancestor =
|
486
|
+
ancestor = example_model.get_ancestor(:feature_file)
|
467
487
|
|
468
|
-
expect(ancestor).to equal(
|
488
|
+
expect(ancestor).to equal(directory_model.feature_files.first)
|
469
489
|
end
|
470
490
|
|
471
491
|
it 'can get its feature' do
|
472
|
-
ancestor =
|
492
|
+
ancestor = example_model.get_ancestor(:feature)
|
473
493
|
|
474
|
-
expect(ancestor).to equal(
|
494
|
+
expect(ancestor).to equal(directory_model.feature_files.first.feature)
|
475
495
|
end
|
476
496
|
|
477
497
|
context 'an example that is part of an outline' do
|
478
498
|
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
file_path = "#{@default_file_directory}/example_test_file.feature"
|
489
|
-
File.open(file_path, 'w') { |file| file.write(source) }
|
490
|
-
end
|
499
|
+
let(:test_directory) { CukeModeler::FileHelper.create_directory }
|
500
|
+
let(:source_gherkin) { "#{@feature_keyword}: Test feature
|
501
|
+
|
502
|
+
#{@outline_keyword}: Test outline
|
503
|
+
#{@step_keyword} a step
|
504
|
+
#{@example_keyword}:
|
505
|
+
| param |
|
506
|
+
| value |"
|
507
|
+
}
|
491
508
|
|
492
|
-
let(:
|
493
|
-
let(:
|
509
|
+
let(:directory_model) { CukeModeler::Directory.new(test_directory) }
|
510
|
+
let(:example_model) { directory_model.feature_files.first.feature.tests.first.examples.first }
|
494
511
|
|
495
512
|
|
496
513
|
it 'can get its outline' do
|
497
|
-
ancestor =
|
514
|
+
ancestor = example_model.get_ancestor(:outline)
|
498
515
|
|
499
|
-
expect(ancestor).to equal(
|
516
|
+
expect(ancestor).to equal(directory_model.feature_files.first.feature.tests.first)
|
500
517
|
end
|
501
518
|
|
502
519
|
end
|
503
520
|
|
504
521
|
it 'returns nil if it does not have the requested type of ancestor' do
|
505
|
-
ancestor =
|
522
|
+
ancestor = example_model.get_ancestor(:example)
|
506
523
|
|
507
524
|
expect(ancestor).to be_nil
|
508
525
|
end
|
@@ -15,10 +15,9 @@ describe 'FeatureFile, Integration' do
|
|
15
15
|
describe 'unique behavior' do
|
16
16
|
|
17
17
|
it 'stores the original data generated by the parsing adapter', :gherkin4 => true do
|
18
|
-
|
19
|
-
File.open(path, "w") { |file| file.puts "#{@feature_keyword}: test feature" }
|
18
|
+
test_file_path = CukeModeler::FileHelper.create_feature_file(:text => "#{@feature_keyword}: test feature", :name => 'test_file')
|
20
19
|
|
21
|
-
feature_file = clazz.new(
|
20
|
+
feature_file = clazz.new(test_file_path)
|
22
21
|
data = feature_file.parsing_data
|
23
22
|
|
24
23
|
expect(data.keys).to match_array([:type, :feature, :comments])
|
@@ -26,10 +25,9 @@ describe 'FeatureFile, Integration' do
|
|
26
25
|
end
|
27
26
|
|
28
27
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
29
|
-
|
30
|
-
File.open(path, "w") { |file| file.puts "#{@feature_keyword}: test feature" }
|
28
|
+
test_file_path = CukeModeler::FileHelper.create_feature_file(:text => "#{@feature_keyword}: test feature", :name => 'test_file')
|
31
29
|
|
32
|
-
feature_file = clazz.new(
|
30
|
+
feature_file = clazz.new(test_file_path)
|
33
31
|
data = feature_file.parsing_data
|
34
32
|
|
35
33
|
# There is no parsing data stored above the feature level for gherkin 3.x
|
@@ -37,10 +35,9 @@ describe 'FeatureFile, Integration' do
|
|
37
35
|
end
|
38
36
|
|
39
37
|
it 'stores the original data generated by the parsing adapter', :gherkin2 => true do
|
40
|
-
|
41
|
-
File.open(path, "w") { |file| file.puts "#{@feature_keyword}: test feature" }
|
38
|
+
test_file_path = CukeModeler::FileHelper.create_feature_file(:text => "#{@feature_keyword}: test feature", :name => 'test_file')
|
42
39
|
|
43
|
-
feature_file = clazz.new(
|
40
|
+
feature_file = clazz.new(test_file_path)
|
44
41
|
data = feature_file.parsing_data
|
45
42
|
|
46
43
|
# There is no parsing data stored above the feature level for gherkin 2.x
|
@@ -48,14 +45,13 @@ describe 'FeatureFile, Integration' do
|
|
48
45
|
end
|
49
46
|
|
50
47
|
it 'provides its own filename when being parsed' do
|
51
|
-
|
52
|
-
File.open(path, "w") { |file| file.puts 'bad feature text' }
|
48
|
+
test_file_path = CukeModeler::FileHelper.create_feature_file(:text => 'bad feature text', :name => 'test_file')
|
53
49
|
|
54
|
-
expect { clazz.new(
|
50
|
+
expect { clazz.new(test_file_path) }.to raise_error(/'#{test_file_path}'/)
|
55
51
|
end
|
56
52
|
|
57
53
|
it 'cannot model a non-existent feature file' do
|
58
|
-
path = "#{
|
54
|
+
path = "#{CukeModeler::FileHelper.create_directory}/missing_file.feature"
|
59
55
|
|
60
56
|
expect { clazz.new(path) }.to raise_error(ArgumentError)
|
61
57
|
end
|
@@ -64,15 +60,15 @@ describe 'FeatureFile, Integration' do
|
|
64
60
|
describe 'model population' do
|
65
61
|
|
66
62
|
let(:source_text) { "#{@feature_keyword}: Test feature" }
|
67
|
-
let(:feature_file_path) {
|
63
|
+
let(:feature_file_path) { CukeModeler::FileHelper.create_feature_file }
|
68
64
|
let(:feature_file) { clazz.new(feature_file_path) }
|
69
65
|
|
70
66
|
before(:each) do
|
71
|
-
File.open(feature_file_path,
|
67
|
+
File.open(feature_file_path, 'w') { |file| file.write(source_text) }
|
72
68
|
end
|
73
69
|
|
74
70
|
it "models the feature file's name" do
|
75
|
-
expect(feature_file.name).to eq(
|
71
|
+
expect(feature_file.name).to eq(File.basename(feature_file_path))
|
76
72
|
end
|
77
73
|
|
78
74
|
it "models the feature file's path" do
|
@@ -149,7 +145,7 @@ describe 'FeatureFile, Integration' do
|
|
149
145
|
| value |
|
150
146
|
# final comment"
|
151
147
|
|
152
|
-
File.open(feature_file_path,
|
148
|
+
File.open(feature_file_path, 'w') { |file| file.write(source_text) }
|
153
149
|
|
154
150
|
feature_file = clazz.new(feature_file_path)
|
155
151
|
comments = feature_file.comments.collect { |comment| comment.text }
|
@@ -180,12 +176,6 @@ describe 'FeatureFile, Integration' do
|
|
180
176
|
context 'an empty feature file', :gherkin3 => false do
|
181
177
|
|
182
178
|
let(:source_text) { '' }
|
183
|
-
let(:feature_file_path) { "#{@default_file_directory}/#{@default_feature_file_name}" }
|
184
|
-
let(:feature_file) { clazz.new(feature_file_path) }
|
185
|
-
|
186
|
-
before(:each) do
|
187
|
-
File.open(feature_file_path, "w") { |file| file.puts source_text }
|
188
|
-
end
|
189
179
|
|
190
180
|
|
191
181
|
it "models the feature file's feature" do
|
@@ -197,11 +187,7 @@ describe 'FeatureFile, Integration' do
|
|
197
187
|
end
|
198
188
|
|
199
189
|
it 'properly sets its child models' do
|
200
|
-
file_path = "#{@
|
201
|
-
|
202
|
-
File.open(file_path, "w") { |file|
|
203
|
-
file.puts("#{@feature_keyword}: Test feature")
|
204
|
-
}
|
190
|
+
file_path = CukeModeler::FileHelper.create_feature_file(:text => "#{@feature_keyword}: Test feature", :name => 'test_file')
|
205
191
|
|
206
192
|
file = clazz.new(file_path)
|
207
193
|
feature = file.feature
|
@@ -212,23 +198,25 @@ describe 'FeatureFile, Integration' do
|
|
212
198
|
|
213
199
|
describe 'getting ancestors' do
|
214
200
|
|
201
|
+
let(:directory_path) { CukeModeler::FileHelper.create_directory }
|
202
|
+
let(:feature_file_path) { CukeModeler::FileHelper.create_feature_file(:text => '', :name => 'feature_file_test_file', :directory => directory_path) }
|
203
|
+
|
215
204
|
before(:each) do
|
216
|
-
|
217
|
-
File.open(file_path, 'w') { |file| file.write("#{@feature_keyword}: Test feature") }
|
205
|
+
File.open(feature_file_path, 'w') { |file| file.write("#{@feature_keyword}: Test feature") }
|
218
206
|
end
|
219
207
|
|
220
|
-
let(:
|
221
|
-
let(:
|
208
|
+
let(:directory_model) { CukeModeler::Directory.new(directory_path) }
|
209
|
+
let(:feature_file_model) { directory_model.feature_files.first }
|
222
210
|
|
223
211
|
|
224
212
|
it 'can get its directory' do
|
225
|
-
ancestor =
|
213
|
+
ancestor = feature_file_model.get_ancestor(:directory)
|
226
214
|
|
227
|
-
expect(ancestor).to equal(
|
215
|
+
expect(ancestor).to equal(directory_model)
|
228
216
|
end
|
229
217
|
|
230
218
|
it 'returns nil if it does not have the requested type of ancestor' do
|
231
|
-
ancestor =
|
219
|
+
ancestor = feature_file_model.get_ancestor(:example)
|
232
220
|
|
233
221
|
expect(ancestor).to be_nil
|
234
222
|
end
|
@@ -241,11 +229,11 @@ describe 'FeatureFile, Integration' do
|
|
241
229
|
context 'from source text' do
|
242
230
|
|
243
231
|
let(:source_text) { "#{@feature_keyword}: Test feature" }
|
244
|
-
let(:feature_file_path) {
|
232
|
+
let(:feature_file_path) { CukeModeler::FileHelper.create_feature_file(:text => '', :name => 'feature_file_test_file') }
|
245
233
|
let(:feature_file) { clazz.new(feature_file_path) }
|
246
234
|
|
247
235
|
before(:each) do
|
248
|
-
File.open(feature_file_path,
|
236
|
+
File.open(feature_file_path, 'w') { |file| file.write(source_text) }
|
249
237
|
end
|
250
238
|
|
251
239
|
|
@@ -258,11 +246,8 @@ describe 'FeatureFile, Integration' do
|
|
258
246
|
end
|
259
247
|
|
260
248
|
it 'can be remade from its own output' do
|
261
|
-
path = "#{@
|
262
|
-
|
263
|
-
|
264
|
-
source = path
|
265
|
-
feature_file = clazz.new(source)
|
249
|
+
path = CukeModeler::FileHelper.create_feature_file(:text => "#{@feature_keyword}:", :name => 'feature_file_test_file')
|
250
|
+
feature_file = clazz.new(path)
|
266
251
|
|
267
252
|
feature_file_output = feature_file.to_s
|
268
253
|
remade_feature_file_output = clazz.new(feature_file_output).to_s
|
@@ -277,30 +277,31 @@ describe 'Feature, Integration' do
|
|
277
277
|
describe 'getting ancestors' do
|
278
278
|
|
279
279
|
before(:each) do
|
280
|
-
|
281
|
-
|
282
|
-
file_path = "#{@default_file_directory}/feature_test_file.feature"
|
283
|
-
File.open(file_path, 'w') { |file| file.write(source) }
|
280
|
+
CukeModeler::FileHelper.create_feature_file(:text => source_gherkin, :name => 'feature_test_file', :directory => test_directory)
|
284
281
|
end
|
285
282
|
|
286
|
-
|
287
|
-
let(:
|
283
|
+
|
284
|
+
let(:test_directory) { CukeModeler::FileHelper.create_directory }
|
285
|
+
let(:source_gherkin) { "#{@feature_keyword}: Test feature" }
|
286
|
+
|
287
|
+
let(:directory_model) { CukeModeler::Directory.new(test_directory) }
|
288
|
+
let(:feature_model) { directory_model.feature_files.first.feature }
|
288
289
|
|
289
290
|
|
290
291
|
it 'can get its directory' do
|
291
|
-
ancestor =
|
292
|
+
ancestor = feature_model.get_ancestor(:directory)
|
292
293
|
|
293
|
-
expect(ancestor).to equal(
|
294
|
+
expect(ancestor).to equal(directory_model)
|
294
295
|
end
|
295
296
|
|
296
297
|
it 'can get its feature file' do
|
297
|
-
ancestor =
|
298
|
+
ancestor = feature_model.get_ancestor(:feature_file)
|
298
299
|
|
299
|
-
expect(ancestor).to equal(
|
300
|
+
expect(ancestor).to equal(directory_model.feature_files.first)
|
300
301
|
end
|
301
302
|
|
302
303
|
it 'returns nil if it does not have the requested type of ancestor' do
|
303
|
-
ancestor =
|
304
|
+
ancestor = feature_model.get_ancestor(:test)
|
304
305
|
|
305
306
|
expect(ancestor).to be_nil
|
306
307
|
end
|
@@ -67,21 +67,19 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
67
67
|
| param |
|
68
68
|
| value |
|
69
69
|
# final comment" }
|
70
|
-
let(:
|
71
|
-
|
72
|
-
|
73
|
-
CukeModeler::FeatureFile.new(path) }
|
74
|
-
let(:feature) { feature_file.feature }
|
70
|
+
let(:feature_file_model) { test_file_path = CukeModeler::FileHelper.create_feature_file(:text => source_text, :name => 'adapter_test_file')
|
71
|
+
CukeModeler::FeatureFile.new(test_file_path) }
|
72
|
+
let(:feature_model) { feature_file_model.feature }
|
75
73
|
|
76
74
|
|
77
75
|
it "does not store parsing data for a feature file's children" do
|
78
|
-
model =
|
76
|
+
model = feature_file_model
|
79
77
|
|
80
78
|
expect(model.parsing_data).to eq([])
|
81
79
|
end
|
82
80
|
|
83
81
|
it "does not store parsing data for a feature's children" do
|
84
|
-
model =
|
82
|
+
model = feature_model
|
85
83
|
|
86
84
|
expect(model.parsing_data['comments']).to be_nil
|
87
85
|
expect(model.parsing_data['tags']).to be_nil
|
@@ -89,14 +87,14 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
89
87
|
end
|
90
88
|
|
91
89
|
it "does not store parsing data for a background's children" do
|
92
|
-
model =
|
90
|
+
model = feature_model.background
|
93
91
|
|
94
92
|
expect(model.parsing_data['comments']).to be_nil
|
95
93
|
expect(model.parsing_data['steps']).to be_nil
|
96
94
|
end
|
97
95
|
|
98
96
|
it "does not store parsing data for a scenario's children" do
|
99
|
-
model =
|
97
|
+
model = feature_model.scenarios.first
|
100
98
|
|
101
99
|
expect(model.parsing_data['comments']).to be_nil
|
102
100
|
expect(model.parsing_data['tags']).to be_nil
|
@@ -104,7 +102,7 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
104
102
|
end
|
105
103
|
|
106
104
|
it "does not store parsing data for an outline's children" do
|
107
|
-
model =
|
105
|
+
model = feature_model.outlines.first
|
108
106
|
|
109
107
|
expect(model.parsing_data['comments']).to be_nil
|
110
108
|
expect(model.parsing_data['tags']).to be_nil
|
@@ -113,7 +111,7 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
113
111
|
end
|
114
112
|
|
115
113
|
it "does not store parsing data for an example's children" do
|
116
|
-
model =
|
114
|
+
model = feature_model.outlines.first.examples.first
|
117
115
|
|
118
116
|
expect(model.parsing_data['comments']).to be_nil
|
119
117
|
expect(model.parsing_data['tags']).to be_nil
|
@@ -121,34 +119,34 @@ describe 'Gherkin2Adapter, Integration', :gherkin2 => true do
|
|
121
119
|
end
|
122
120
|
|
123
121
|
it "does not store parsing data for an example row's children" do
|
124
|
-
model =
|
122
|
+
model = feature_model.outlines.first.examples.first.rows.first
|
125
123
|
|
126
124
|
expect(model.parsing_data['comments']).to be_nil
|
127
125
|
expect(model.parsing_data['cells']).to be_nil
|
128
126
|
end
|
129
127
|
|
130
128
|
it "does not store parsing data for a step's children, table" do
|
131
|
-
model =
|
129
|
+
model = feature_model.outlines.first.steps.first
|
132
130
|
|
133
131
|
expect(model.parsing_data['comments']).to be_nil
|
134
132
|
expect(model.parsing_data['rows']).to be_nil
|
135
133
|
end
|
136
134
|
|
137
135
|
it "does not store parsing data for a step's children, doc string" do
|
138
|
-
model =
|
136
|
+
model = feature_model.outlines.first.steps.last
|
139
137
|
|
140
138
|
expect(model.parsing_data['comments']).to be_nil
|
141
139
|
expect(model.parsing_data['doc_string']).to be_nil
|
142
140
|
end
|
143
141
|
|
144
142
|
it "does not store parsing data for a table's children" do
|
145
|
-
model =
|
143
|
+
model = feature_model.outlines.first.steps.first.block
|
146
144
|
|
147
145
|
expect(model.parsing_data).to be_empty
|
148
146
|
end
|
149
147
|
|
150
148
|
it "does not store parsing data for a table row's children" do
|
151
|
-
model =
|
149
|
+
model = feature_model.outlines.first.steps.first.block.rows.first
|
152
150
|
|
153
151
|
expect(model.parsing_data['comments']).to be_nil
|
154
152
|
expect(model.parsing_data['cells']).to be_nil
|
@@ -67,21 +67,19 @@ describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
|
|
67
67
|
| param |
|
68
68
|
| value |
|
69
69
|
# final comment" }
|
70
|
-
let(:
|
71
|
-
|
72
|
-
|
73
|
-
CukeModeler::FeatureFile.new(path) }
|
74
|
-
let(:feature) { feature_file.feature }
|
70
|
+
let(:feature_file_model) { test_file_path = CukeModeler::FileHelper.create_feature_file(:text => source_text, :name => 'adapter_test_file')
|
71
|
+
CukeModeler::FeatureFile.new(test_file_path) }
|
72
|
+
let(:feature_model) { feature_file_model.feature }
|
75
73
|
|
76
74
|
|
77
75
|
it "does not store parsing data for a feature file's children" do
|
78
|
-
model =
|
76
|
+
model = feature_file_model
|
79
77
|
|
80
78
|
expect(model.parsing_data).to be_nil
|
81
79
|
end
|
82
80
|
|
83
81
|
it "does not store parsing data for a feature's children" do
|
84
|
-
model =
|
82
|
+
model = feature_model
|
85
83
|
|
86
84
|
expect(model.parsing_data[:comments]).to be_nil
|
87
85
|
expect(model.parsing_data[:tags]).to be_nil
|
@@ -90,20 +88,20 @@ describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
|
|
90
88
|
end
|
91
89
|
|
92
90
|
it "does not store parsing data for a background's children" do
|
93
|
-
model =
|
91
|
+
model = feature_model.background
|
94
92
|
|
95
93
|
expect(model.parsing_data[:steps]).to be_nil
|
96
94
|
end
|
97
95
|
|
98
96
|
it "does not store parsing data for a scenario's children" do
|
99
|
-
model =
|
97
|
+
model = feature_model.scenarios.first
|
100
98
|
|
101
99
|
expect(model.parsing_data[:tags]).to be_nil
|
102
100
|
expect(model.parsing_data[:steps]).to be_nil
|
103
101
|
end
|
104
102
|
|
105
103
|
it "does not store parsing data for an outline's children" do
|
106
|
-
model =
|
104
|
+
model = feature_model.outlines.first
|
107
105
|
|
108
106
|
expect(model.parsing_data[:tags]).to be_nil
|
109
107
|
expect(model.parsing_data[:steps]).to be_nil
|
@@ -111,7 +109,7 @@ describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
|
|
111
109
|
end
|
112
110
|
|
113
111
|
it "does not store parsing data for an example's children" do
|
114
|
-
model =
|
112
|
+
model = feature_model.outlines.first.examples.first
|
115
113
|
|
116
114
|
expect(model.parsing_data[:tags]).to be_nil
|
117
115
|
expect(model.parsing_data[:tableHeader]).to be_nil
|
@@ -119,31 +117,31 @@ describe 'Gherkin3Adapter, Integration', :gherkin3 => true do
|
|
119
117
|
end
|
120
118
|
|
121
119
|
it "does not store parsing data for an example row's children" do
|
122
|
-
model =
|
120
|
+
model = feature_model.outlines.first.examples.first.rows.first
|
123
121
|
|
124
122
|
expect(model.parsing_data[:cells]).to be_nil
|
125
123
|
end
|
126
124
|
|
127
125
|
it "does not store parsing data for a step's children, table" do
|
128
|
-
model =
|
126
|
+
model = feature_model.outlines.first.steps.first
|
129
127
|
|
130
128
|
expect(model.parsing_data[:argument]).to be_nil
|
131
129
|
end
|
132
130
|
|
133
131
|
it "does not store parsing data for a step's children, doc string" do
|
134
|
-
model =
|
132
|
+
model = feature_model.outlines.first.steps.last
|
135
133
|
|
136
134
|
expect(model.parsing_data[:argument]).to be_nil
|
137
135
|
end
|
138
136
|
|
139
137
|
it "does not store parsing data for a table's children" do
|
140
|
-
model =
|
138
|
+
model = feature_model.outlines.first.steps.first.block
|
141
139
|
|
142
140
|
expect(model.parsing_data[:rows]).to be_nil
|
143
141
|
end
|
144
142
|
|
145
143
|
it "does not store parsing data for a table row's children" do
|
146
|
-
model =
|
144
|
+
model = feature_model.outlines.first.steps.first.block.rows.first
|
147
145
|
|
148
146
|
expect(model.parsing_data[:cells]).to be_nil
|
149
147
|
end
|