cuke_modeler 1.5.0 → 3.1.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/CHANGELOG.md +341 -0
- data/LICENSE.txt +1 -1
- data/README.md +22 -15
- data/cuke_modeler.gemspec +15 -9
- data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/gherkin_14_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/{gherkin_6_adapter.rb → gherkin_9_adapter.rb} +75 -64
- data/lib/cuke_modeler/containing.rb +3 -0
- data/lib/cuke_modeler/described.rb +1 -0
- data/lib/cuke_modeler/models/background.rb +1 -1
- data/lib/cuke_modeler/models/cell.rb +1 -1
- data/lib/cuke_modeler/models/comment.rb +1 -1
- data/lib/cuke_modeler/models/directory.rb +2 -2
- data/lib/cuke_modeler/models/doc_string.rb +1 -1
- data/lib/cuke_modeler/models/example.rb +1 -1
- data/lib/cuke_modeler/models/feature.rb +1 -1
- data/lib/cuke_modeler/models/feature_file.rb +2 -2
- data/lib/cuke_modeler/models/outline.rb +1 -1
- data/lib/cuke_modeler/models/row.rb +1 -1
- data/lib/cuke_modeler/models/scenario.rb +1 -1
- data/lib/cuke_modeler/models/step.rb +32 -3
- data/lib/cuke_modeler/models/table.rb +1 -1
- data/lib/cuke_modeler/models/tag.rb +1 -1
- data/lib/cuke_modeler/named.rb +1 -0
- data/lib/cuke_modeler/nested.rb +1 -0
- data/lib/cuke_modeler/parsed.rb +1 -0
- data/lib/cuke_modeler/parsing.rb +89 -94
- data/lib/cuke_modeler/sourceable.rb +1 -0
- data/lib/cuke_modeler/stepped.rb +1 -0
- data/lib/cuke_modeler/taggable.rb +1 -0
- data/lib/cuke_modeler/version.rb +1 -1
- data/testing/cucumber/features/analysis/step_comparison.feature +25 -0
- data/testing/cucumber/features/analysis/test_comparison.feature +1 -1
- metadata +56 -142
- data/.gitignore +0 -18
- data/.simplecov +0 -7
- data/.travis.yml +0 -60
- data/Gemfile +0 -36
- data/History.md +0 -196
- data/Rakefile +0 -63
- data/appveyor.yml +0 -61
- data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +0 -273
- data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +0 -296
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +0 -308
- data/testing/cucumber/step_definitions/action_steps.rb +0 -13
- data/testing/cucumber/step_definitions/background_steps.rb +0 -1
- data/testing/cucumber/step_definitions/directory_steps.rb +0 -6
- data/testing/cucumber/step_definitions/doc_string_steps.rb +0 -1
- data/testing/cucumber/step_definitions/feature_file_steps.rb +0 -16
- data/testing/cucumber/step_definitions/feature_steps.rb +0 -7
- data/testing/cucumber/step_definitions/modeling_steps.rb +0 -44
- data/testing/cucumber/step_definitions/setup_steps.rb +0 -32
- data/testing/cucumber/step_definitions/step_steps.rb +0 -3
- data/testing/cucumber/step_definitions/table_steps.rb +0 -1
- data/testing/cucumber/step_definitions/tag_steps.rb +0 -3
- data/testing/cucumber/step_definitions/verification_steps.rb +0 -173
- data/testing/cucumber/support/env.rb +0 -30
- data/testing/dialect_helper.rb +0 -48
- data/testing/file_helper.rb +0 -47
- data/testing/gemfiles/gherkin2.gemfile +0 -32
- data/testing/gemfiles/gherkin3.gemfile +0 -26
- data/testing/gemfiles/gherkin4.gemfile +0 -27
- data/testing/gemfiles/gherkin5.gemfile +0 -27
- data/testing/gemfiles/gherkin6.gemfile +0 -10
- data/testing/rspec/spec/integration/background_integration_spec.rb +0 -442
- data/testing/rspec/spec/integration/cell_integration_spec.rb +0 -335
- data/testing/rspec/spec/integration/comment_integration_spec.rb +0 -177
- data/testing/rspec/spec/integration/directory_integration_spec.rb +0 -218
- data/testing/rspec/spec/integration/doc_string_integration_spec.rb +0 -402
- data/testing/rspec/spec/integration/example_integration_spec.rb +0 -741
- data/testing/rspec/spec/integration/feature_file_integration_spec.rb +0 -272
- data/testing/rspec/spec/integration/feature_integration_spec.rb +0 -650
- data/testing/rspec/spec/integration/gherkin_2_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/gherkin_3_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/gherkin_4_adapter_spec.rb +0 -165
- data/testing/rspec/spec/integration/gherkin_6_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/model_integration_spec.rb +0 -15
- data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
- data/testing/rspec/spec/integration/outline_integration_spec.rb +0 -624
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -122
- data/testing/rspec/spec/integration/row_integration_spec.rb +0 -291
- data/testing/rspec/spec/integration/scenario_integration_spec.rb +0 -479
- data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
- data/testing/rspec/spec/integration/step_integration_spec.rb +0 -475
- data/testing/rspec/spec/integration/table_integration_spec.rb +0 -337
- data/testing/rspec/spec/integration/tag_integration_spec.rb +0 -259
- data/testing/rspec/spec/spec_helper.rb +0 -122
- data/testing/rspec/spec/unit/background_unit_spec.rb +0 -83
- data/testing/rspec/spec/unit/cell_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/comment_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/described_unit_spec.rb +0 -23
- data/testing/rspec/spec/unit/directory_unit_spec.rb +0 -127
- data/testing/rspec/spec/unit/doc_string_unit_spec.rb +0 -100
- data/testing/rspec/spec/unit/example_unit_spec.rb +0 -133
- data/testing/rspec/spec/unit/feature_file_unit_spec.rb +0 -125
- data/testing/rspec/spec/unit/feature_unit_spec.rb +0 -157
- data/testing/rspec/spec/unit/model_unit_spec.rb +0 -15
- data/testing/rspec/spec/unit/named_unit_spec.rb +0 -23
- data/testing/rspec/spec/unit/nested_unit_spec.rb +0 -43
- data/testing/rspec/spec/unit/outline_unit_spec.rb +0 -117
- data/testing/rspec/spec/unit/parsed_unit_spec.rb +0 -27
- data/testing/rspec/spec/unit/parsing_unit_spec.rb +0 -54
- data/testing/rspec/spec/unit/row_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/scenario_unit_spec.rb +0 -86
- data/testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb +0 -14
- data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +0 -127
- data/testing/rspec/spec/unit/shared/described_models_unit_specs.rb +0 -38
- data/testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb +0 -58
- data/testing/rspec/spec/unit/shared/models_unit_specs.rb +0 -15
- data/testing/rspec/spec/unit/shared/named_models_unit_specs.rb +0 -39
- data/testing/rspec/spec/unit/shared/nested_models_unit_specs.rb +0 -51
- data/testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb +0 -39
- data/testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb +0 -18
- data/testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb +0 -39
- data/testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb +0 -46
- data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +0 -18
- data/testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb +0 -72
- data/testing/rspec/spec/unit/sourceable_unit_spec.rb +0 -27
- data/testing/rspec/spec/unit/step_unit_spec.rb +0 -109
- data/testing/rspec/spec/unit/stepped_unit_spec.rb +0 -23
- data/testing/rspec/spec/unit/table_unit_spec.rb +0 -77
- data/testing/rspec/spec/unit/tag_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/taggable_unit_spec.rb +0 -69
- data/testing/test_languages.json +0 -45
- data/todo.txt +0 -24
@@ -1,23 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Named, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:nodule) { CukeModeler::Named }
|
7
|
-
let(:named_model) { Object.new.extend(nodule) }
|
8
|
-
|
9
|
-
|
10
|
-
it 'has a name' do
|
11
|
-
expect(named_model).to respond_to(:name)
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'can change its name' do
|
15
|
-
expect(named_model).to respond_to(:name=)
|
16
|
-
|
17
|
-
named_model.name = :some_name
|
18
|
-
expect(named_model.name).to eq(:some_name)
|
19
|
-
named_model.name = :some_other_name
|
20
|
-
expect(named_model.name).to eq(:some_other_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Nested, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:nodule) { CukeModeler::Nested }
|
7
|
-
let(:nested_model) { Object.new.extend(nodule) }
|
8
|
-
|
9
|
-
|
10
|
-
describe 'unique behavior' do
|
11
|
-
|
12
|
-
describe 'an object including the module' do
|
13
|
-
|
14
|
-
it 'has a parent model' do
|
15
|
-
expect(nested_model).to respond_to(:parent_model)
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'can change its parent model' do
|
19
|
-
expect(nested_model).to respond_to(:parent_model=)
|
20
|
-
|
21
|
-
nested_model.parent_model = :some_parent_model
|
22
|
-
expect(nested_model.parent_model).to eq(:some_parent_model)
|
23
|
-
nested_model.parent_model = :some_other_parent_model
|
24
|
-
expect(nested_model.parent_model).to eq(:some_other_parent_model)
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'has access to its ancestors' do
|
28
|
-
expect(nested_model).to respond_to(:get_ancestor)
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'gets an ancestor based on type' do
|
32
|
-
expect(nodule.instance_method(:get_ancestor).arity).to eq(1)
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'raises and exception if an unknown ancestor type is requested' do
|
36
|
-
expect { nested_model.get_ancestor(:bad_ancestor_type) }.to raise_exception(ArgumentError)
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
@@ -1,117 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Outline, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:clazz) { CukeModeler::Outline }
|
7
|
-
let(:outline) { clazz.new }
|
8
|
-
|
9
|
-
|
10
|
-
describe 'common behavior' do
|
11
|
-
|
12
|
-
it_should_behave_like 'a model'
|
13
|
-
it_should_behave_like 'a keyworded model'
|
14
|
-
it_should_behave_like 'a named model'
|
15
|
-
it_should_behave_like 'a described model'
|
16
|
-
it_should_behave_like 'a stepped model'
|
17
|
-
it_should_behave_like 'a tagged model'
|
18
|
-
it_should_behave_like 'a sourced model'
|
19
|
-
it_should_behave_like 'a parsed model'
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
describe 'unique behavior' do
|
25
|
-
|
26
|
-
it 'has examples' do
|
27
|
-
expect(outline).to respond_to(:examples)
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'can change its examples' do
|
31
|
-
expect(outline).to respond_to(:examples=)
|
32
|
-
|
33
|
-
outline.examples = :some_examples
|
34
|
-
expect(outline.examples).to eq(:some_examples)
|
35
|
-
outline.examples = :some_other_examples
|
36
|
-
expect(outline.examples).to eq(:some_other_examples)
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
describe 'abstract instantiation' do
|
41
|
-
|
42
|
-
context 'a new outline object' do
|
43
|
-
|
44
|
-
let(:outline) { clazz.new }
|
45
|
-
|
46
|
-
|
47
|
-
it 'starts with no examples' do
|
48
|
-
expect(outline.examples).to eq([])
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'contains steps, examples, and tags' do
|
56
|
-
tags = [:tag_1, :tagt_2]
|
57
|
-
steps = [:step_1, :step_2, :step_3]
|
58
|
-
examples = [:example_1, :example_2, :example_3]
|
59
|
-
everything = steps + examples + tags
|
60
|
-
|
61
|
-
outline.steps = steps
|
62
|
-
outline.examples = examples
|
63
|
-
outline.tags = tags
|
64
|
-
|
65
|
-
expect(outline.children).to match_array(everything)
|
66
|
-
end
|
67
|
-
|
68
|
-
|
69
|
-
describe 'comparison' do
|
70
|
-
|
71
|
-
it 'can gracefully be compared to other types of objects' do
|
72
|
-
# Some common types of object
|
73
|
-
[1, 'foo', :bar, [], {}].each do |thing|
|
74
|
-
expect { outline == thing }.to_not raise_error
|
75
|
-
expect(outline == thing).to be false
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
describe 'outline output' do
|
83
|
-
|
84
|
-
context 'from abstract instantiation' do
|
85
|
-
|
86
|
-
let(:outline) { clazz.new }
|
87
|
-
|
88
|
-
|
89
|
-
it 'can output an empty outline' do
|
90
|
-
expect { outline.to_s }.to_not raise_error
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'can output an outline that has only a keyword' do
|
94
|
-
outline.keyword = 'foo'
|
95
|
-
|
96
|
-
expect(outline.to_s).to eq('foo:')
|
97
|
-
end
|
98
|
-
|
99
|
-
it 'can output an outline that has only a name' do
|
100
|
-
outline.name = 'a name'
|
101
|
-
|
102
|
-
expect { outline.to_s }.to_not raise_error
|
103
|
-
end
|
104
|
-
|
105
|
-
it 'can output an outline that has only a description' do
|
106
|
-
outline.description = 'a description'
|
107
|
-
|
108
|
-
expect { outline.to_s }.to_not raise_error
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
end
|
114
|
-
|
115
|
-
end
|
116
|
-
|
117
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Parsed, Unit' do
|
5
|
-
|
6
|
-
let(:nodule) { CukeModeler::Parsed }
|
7
|
-
let(:model) { Object.new.extend(nodule) }
|
8
|
-
|
9
|
-
|
10
|
-
describe 'unique behavior' do
|
11
|
-
|
12
|
-
it 'can access its original parsing data' do
|
13
|
-
expect(model).to respond_to(:parsing_data)
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'can change its parsing data' do
|
17
|
-
expect(model).to respond_to(:parsing_data=)
|
18
|
-
|
19
|
-
model.parsing_data = :some_parsing_data
|
20
|
-
expect(model.parsing_data).to eq(:some_parsing_data)
|
21
|
-
model.parsing_data = :some_other_parsing_data
|
22
|
-
expect(model.parsing_data).to eq(:some_other_parsing_data)
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Parsing, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:nodule) { CukeModeler::Parsing }
|
7
|
-
|
8
|
-
|
9
|
-
before(:all) do
|
10
|
-
@original_dialect = CukeModeler::Parsing.dialect
|
11
|
-
end
|
12
|
-
|
13
|
-
# Making sure that our changes don't escape a test and ruin the rest of the suite
|
14
|
-
after(:all) do
|
15
|
-
CukeModeler::Parsing.dialect = @original_dialect
|
16
|
-
end
|
17
|
-
|
18
|
-
|
19
|
-
describe 'unique behavior' do
|
20
|
-
|
21
|
-
it 'can parse text' do
|
22
|
-
expect(nodule).to respond_to(:parse_text)
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'takes the text that is to be parsed and an optional file name' do
|
26
|
-
expect(nodule.method(:parse_text).arity).to eq(-2)
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'knows all of the available Gherkin dialects' do
|
30
|
-
expect(nodule).to respond_to(:dialects)
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'has an expected dialect to use for parsing' do
|
34
|
-
expect(nodule).to respond_to(:dialect)
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'can change its expected dialect' do
|
38
|
-
expect(nodule).to respond_to(:dialect=)
|
39
|
-
|
40
|
-
nodule.dialect = :some_dialect
|
41
|
-
expect(nodule.dialect).to eq(:some_dialect)
|
42
|
-
nodule.dialect = :some_other_dialect
|
43
|
-
expect(nodule.dialect).to eq(:some_other_dialect)
|
44
|
-
end
|
45
|
-
|
46
|
-
it 'defaults to English if no dialect is set' do
|
47
|
-
nodule.dialect = nil
|
48
|
-
|
49
|
-
expect(nodule.dialect).to eq('en')
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Row, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:clazz) { CukeModeler::Row }
|
7
|
-
let(:row) { clazz.new }
|
8
|
-
|
9
|
-
|
10
|
-
describe 'common behavior' do
|
11
|
-
|
12
|
-
it_should_behave_like 'a model'
|
13
|
-
it_should_behave_like 'a sourced model'
|
14
|
-
it_should_behave_like 'a parsed model'
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
|
19
|
-
describe 'unique behavior' do
|
20
|
-
|
21
|
-
it 'has cells' do
|
22
|
-
expect(row).to respond_to(:cells)
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'can change its cells' do
|
26
|
-
expect(row).to respond_to(:cells=)
|
27
|
-
|
28
|
-
row.cells = :some_cells
|
29
|
-
expect(row.cells).to eq(:some_cells)
|
30
|
-
row.cells = :some_other_cells
|
31
|
-
expect(row.cells).to eq(:some_other_cells)
|
32
|
-
end
|
33
|
-
|
34
|
-
|
35
|
-
describe 'abstract instantiation' do
|
36
|
-
|
37
|
-
context 'a new row object' do
|
38
|
-
|
39
|
-
let(:row) { clazz.new }
|
40
|
-
|
41
|
-
|
42
|
-
it 'starts with no cells' do
|
43
|
-
expect(row.cells).to eq([])
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
describe 'row output' do
|
52
|
-
|
53
|
-
context 'from abstract instantiation' do
|
54
|
-
|
55
|
-
let(:row) { clazz.new }
|
56
|
-
|
57
|
-
|
58
|
-
it 'can output an empty row' do
|
59
|
-
expect { row.to_s }.to_not raise_error
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
end
|
@@ -1,86 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Scenario, Unit', :unit_test => true do
|
5
|
-
|
6
|
-
let(:clazz) { CukeModeler::Scenario }
|
7
|
-
let(:scenario) { clazz.new }
|
8
|
-
|
9
|
-
|
10
|
-
describe 'common behavior' do
|
11
|
-
|
12
|
-
it_should_behave_like 'a model'
|
13
|
-
it_should_behave_like 'a keyworded model'
|
14
|
-
it_should_behave_like 'a named model'
|
15
|
-
it_should_behave_like 'a described model'
|
16
|
-
it_should_behave_like 'a stepped model'
|
17
|
-
it_should_behave_like 'a tagged model'
|
18
|
-
it_should_behave_like 'a sourced model'
|
19
|
-
it_should_behave_like 'a parsed model'
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
describe 'unique behavior' do
|
25
|
-
|
26
|
-
it 'contains steps and tags' do
|
27
|
-
tags = [:tag_1, :tag_2]
|
28
|
-
steps = [:step_1, :step_2]
|
29
|
-
everything = steps + tags
|
30
|
-
|
31
|
-
scenario.steps = steps
|
32
|
-
scenario.tags = tags
|
33
|
-
|
34
|
-
expect(scenario.children).to match_array(everything)
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
describe 'comparison' do
|
39
|
-
|
40
|
-
it 'can gracefully be compared to other types of objects' do
|
41
|
-
# Some common types of object
|
42
|
-
[1, 'foo', :bar, [], {}].each do |thing|
|
43
|
-
expect { scenario == thing }.to_not raise_error
|
44
|
-
expect(scenario == thing).to be false
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
describe 'scenario output' do
|
52
|
-
|
53
|
-
context 'from abstract instantiation' do
|
54
|
-
|
55
|
-
let(:scenario) { clazz.new }
|
56
|
-
|
57
|
-
|
58
|
-
it 'can output an empty scenario' do
|
59
|
-
expect { scenario.to_s }.to_not raise_error
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'can output a scenario that has only a keyword' do
|
63
|
-
scenario.keyword = 'foo'
|
64
|
-
|
65
|
-
expect(scenario.to_s).to eq('foo:')
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'can output a scenario that has only a name' do
|
69
|
-
scenario.name = 'a name'
|
70
|
-
|
71
|
-
expect { scenario.to_s }.to_not raise_error
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'can output a scenario that has only a description' do
|
75
|
-
scenario.description = 'a description'
|
76
|
-
|
77
|
-
expect { scenario.to_s }.to_not raise_error
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../../spec_helper"
|
2
|
-
|
3
|
-
shared_examples_for 'a bare bones model' do
|
4
|
-
|
5
|
-
# clazz must be defined by the calling file
|
6
|
-
|
7
|
-
let(:model) { clazz.new }
|
8
|
-
|
9
|
-
|
10
|
-
it 'can be initialized empty' do
|
11
|
-
expect { clazz.new }.to_not raise_error
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|