cuke_modeler 2.0.0 → 3.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/CHANGELOG.md +59 -2
- data/README.md +14 -16
- data/cuke_modeler.gemspec +12 -9
- data/lib/cuke_modeler.rb +1 -0
- 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_15_adapter.rb +12 -0
- data/lib/cuke_modeler/adapters/{gherkin_6_adapter.rb → gherkin_9_adapter.rb} +104 -69
- data/lib/cuke_modeler/containing.rb +15 -5
- 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 +16 -5
- 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/rule.rb +99 -0
- data/lib/cuke_modeler/models/scenario.rb +1 -1
- data/lib/cuke_modeler/models/step.rb +1 -1
- data/lib/cuke_modeler/models/table.rb +1 -1
- data/lib/cuke_modeler/models/tag.rb +1 -1
- data/lib/cuke_modeler/parsing.rb +89 -110
- data/lib/cuke_modeler/version.rb +1 -1
- data/testing/cucumber/features/modeling/feature_modeling.feature +28 -7
- data/testing/cucumber/features/modeling/feature_output.feature +45 -23
- data/testing/cucumber/features/modeling/rule_modeling.feature +108 -0
- data/testing/cucumber/features/modeling/rule_output.feature +111 -0
- metadata +39 -140
- data/.gitignore +0 -18
- data/.simplecov +0 -7
- data/.travis.yml +0 -63
- data/Gemfile +0 -37
- data/Rakefile +0 -73
- data/appveyor.yml +0 -61
- data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +0 -274
- data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +0 -297
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +0 -309
- 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 -49
- 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 -181
- 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 -33
- 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/adapters/gherkin_2_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/adapters/gherkin_3_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/adapters/gherkin_4_adapter_spec.rb +0 -165
- data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +0 -166
- data/testing/rspec/spec/integration/models/background_integration_spec.rb +0 -442
- data/testing/rspec/spec/integration/models/cell_integration_spec.rb +0 -335
- data/testing/rspec/spec/integration/models/comment_integration_spec.rb +0 -177
- data/testing/rspec/spec/integration/models/directory_integration_spec.rb +0 -218
- data/testing/rspec/spec/integration/models/doc_string_integration_spec.rb +0 -402
- data/testing/rspec/spec/integration/models/example_integration_spec.rb +0 -741
- data/testing/rspec/spec/integration/models/feature_file_integration_spec.rb +0 -272
- data/testing/rspec/spec/integration/models/feature_integration_spec.rb +0 -650
- data/testing/rspec/spec/integration/models/model_integration_spec.rb +0 -15
- data/testing/rspec/spec/integration/models/outline_integration_spec.rb +0 -624
- data/testing/rspec/spec/integration/models/row_integration_spec.rb +0 -291
- data/testing/rspec/spec/integration/models/scenario_integration_spec.rb +0 -479
- data/testing/rspec/spec/integration/models/step_integration_spec.rb +0 -569
- data/testing/rspec/spec/integration/models/table_integration_spec.rb +0 -337
- data/testing/rspec/spec/integration/models/tag_integration_spec.rb +0 -259
- data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -122
- data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
- data/testing/rspec/spec/spec_helper.rb +0 -136
- data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +0 -25
- data/testing/rspec/spec/unit/described_unit_spec.rb +0 -23
- data/testing/rspec/spec/unit/models/background_unit_spec.rb +0 -83
- data/testing/rspec/spec/unit/models/cell_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/models/comment_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/models/directory_unit_spec.rb +0 -127
- data/testing/rspec/spec/unit/models/doc_string_unit_spec.rb +0 -100
- data/testing/rspec/spec/unit/models/example_unit_spec.rb +0 -133
- data/testing/rspec/spec/unit/models/feature_file_unit_spec.rb +0 -125
- data/testing/rspec/spec/unit/models/feature_unit_spec.rb +0 -157
- data/testing/rspec/spec/unit/models/model_unit_spec.rb +0 -15
- data/testing/rspec/spec/unit/models/outline_unit_spec.rb +0 -117
- data/testing/rspec/spec/unit/models/row_unit_spec.rb +0 -68
- data/testing/rspec/spec/unit/models/scenario_unit_spec.rb +0 -86
- data/testing/rspec/spec/unit/models/step_unit_spec.rb +0 -109
- data/testing/rspec/spec/unit/models/table_unit_spec.rb +0 -77
- data/testing/rspec/spec/unit/models/tag_unit_spec.rb +0 -68
- 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/parsed_unit_spec.rb +0 -27
- data/testing/rspec/spec/unit/parsing_unit_spec.rb +0 -54
- 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/stepped_unit_spec.rb +0 -23
- data/testing/rspec/spec/unit/taggable_unit_spec.rb +0 -69
- data/testing/test_languages.json +0 -45
- data/todo.txt +0 -25
data/lib/cuke_modeler/version.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
Feature: Feature modeling
|
|
2
2
|
|
|
3
|
-
Feature models are the top level element of the
|
|
3
|
+
Feature models are the top level element of the Gherkin portion of the model tree. They expose several attributes of the
|
|
4
|
+
feature that they represent, as well as containing models for any background, scenarios, or outlines that are present in
|
|
5
|
+
that feature.
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
Background:
|
|
@@ -29,11 +31,18 @@ Feature models are the top level element of the gherkin portion of the model tre
|
|
|
29
31
|
Scenario: Scenario 2
|
|
30
32
|
* a step
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
Rule: a rule
|
|
35
|
+
|
|
36
|
+
Scenario: Scenario 3
|
|
37
|
+
* a step
|
|
38
|
+
|
|
39
|
+
Rule: another rule
|
|
40
|
+
|
|
41
|
+
Scenario Outline: Outline 2
|
|
42
|
+
* a step
|
|
43
|
+
Examples:
|
|
44
|
+
| param |
|
|
45
|
+
| value |
|
|
37
46
|
"""
|
|
38
47
|
And a feature model based on that gherkin
|
|
39
48
|
"""
|
|
@@ -75,7 +84,18 @@ Feature models are the top level element of the gherkin portion of the model tre
|
|
|
75
84
|
"""
|
|
76
85
|
Then the model returns a model for the background "The background"
|
|
77
86
|
|
|
87
|
+
Scenario: Modeling a feature's rules
|
|
88
|
+
When the feature's rules are requested
|
|
89
|
+
"""
|
|
90
|
+
@model.rules
|
|
91
|
+
"""
|
|
92
|
+
Then the model returns models for the following rules:
|
|
93
|
+
| a rule |
|
|
94
|
+
| another rule |
|
|
95
|
+
|
|
78
96
|
Scenario: Modeling a feature's scenarios
|
|
97
|
+
Note: Scenarios under a Rule keyword are included in the corresponding Rule model instead of the Feature model
|
|
98
|
+
|
|
79
99
|
When the feature's scenarios are requested
|
|
80
100
|
"""
|
|
81
101
|
@model.scenarios
|
|
@@ -85,13 +105,14 @@ Feature models are the top level element of the gherkin portion of the model tre
|
|
|
85
105
|
| Scenario 2 |
|
|
86
106
|
|
|
87
107
|
Scenario: Modeling a feature's outlines
|
|
108
|
+
Note: Outlines under a Rule keyword are included in the corresponding Rule model instead of the Feature model
|
|
109
|
+
|
|
88
110
|
When the feature's outlines are requested
|
|
89
111
|
"""
|
|
90
112
|
@model.outlines
|
|
91
113
|
"""
|
|
92
114
|
Then the model returns models for the following outlines:
|
|
93
115
|
| Outline 1 |
|
|
94
|
-
| Outline 2 |
|
|
95
116
|
|
|
96
117
|
Scenario: Modeling a feature's tags
|
|
97
118
|
|
|
@@ -11,23 +11,28 @@ Feature: Feature output
|
|
|
11
11
|
Feature: A feature with everything it could have
|
|
12
12
|
Including a description
|
|
13
13
|
and then some.
|
|
14
|
-
Background:
|
|
14
|
+
Background: non-nested background
|
|
15
15
|
Background
|
|
16
16
|
description
|
|
17
17
|
* a step
|
|
18
18
|
|value1|
|
|
19
|
+
|value2|
|
|
19
20
|
* another step
|
|
20
21
|
@scenario_tag
|
|
21
|
-
Scenario:
|
|
22
|
+
Scenario: non-nested scenario
|
|
22
23
|
Scenario
|
|
23
24
|
description
|
|
24
25
|
* a step
|
|
25
26
|
* another step
|
|
26
|
-
\"\"\"
|
|
27
|
+
\"\"\" with content type
|
|
27
28
|
some text
|
|
28
29
|
\"\"\"
|
|
30
|
+
Rule: a rule
|
|
31
|
+
Rule description
|
|
32
|
+
Background: nested background
|
|
33
|
+
* a step
|
|
29
34
|
@outline_tag
|
|
30
|
-
Scenario Outline:
|
|
35
|
+
Scenario Outline: nested outline
|
|
31
36
|
Outline
|
|
32
37
|
description
|
|
33
38
|
* a step
|
|
@@ -42,6 +47,9 @@ Feature: Feature output
|
|
|
42
47
|
description
|
|
43
48
|
|param|
|
|
44
49
|
|value|
|
|
50
|
+
Examples: additional example
|
|
51
|
+
Rule: another rule
|
|
52
|
+
Which is empty
|
|
45
53
|
"""
|
|
46
54
|
And a feature model based on that gherkin
|
|
47
55
|
"""
|
|
@@ -59,48 +67,62 @@ Feature: Feature output
|
|
|
59
67
|
Including a description
|
|
60
68
|
and then some.
|
|
61
69
|
|
|
62
|
-
Background:
|
|
70
|
+
Background: non-nested background
|
|
63
71
|
|
|
64
72
|
Background
|
|
65
73
|
description
|
|
66
74
|
|
|
67
75
|
* a step
|
|
68
76
|
| value1 |
|
|
77
|
+
| value2 |
|
|
69
78
|
* another step
|
|
70
79
|
|
|
71
80
|
@scenario_tag
|
|
72
|
-
Scenario:
|
|
81
|
+
Scenario: non-nested scenario
|
|
73
82
|
|
|
74
83
|
Scenario
|
|
75
84
|
description
|
|
76
85
|
|
|
77
86
|
* a step
|
|
78
87
|
* another step
|
|
79
|
-
\"\"\"
|
|
88
|
+
\"\"\" with content type
|
|
80
89
|
some text
|
|
81
90
|
\"\"\"
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
Scenario Outline:
|
|
92
|
+
Rule: a rule
|
|
85
93
|
|
|
86
|
-
|
|
87
|
-
description
|
|
94
|
+
Rule description
|
|
88
95
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* another step
|
|
92
|
-
\"\"\"
|
|
93
|
-
some text
|
|
94
|
-
\"\"\"
|
|
96
|
+
Background: nested background
|
|
97
|
+
* a step
|
|
95
98
|
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
@outline_tag
|
|
100
|
+
Scenario Outline: nested outline
|
|
98
101
|
|
|
99
|
-
|
|
100
|
-
|
|
102
|
+
Outline
|
|
103
|
+
description
|
|
104
|
+
|
|
105
|
+
* a step
|
|
106
|
+
| value2 |
|
|
107
|
+
* another step
|
|
108
|
+
\"\"\"
|
|
109
|
+
some text
|
|
110
|
+
\"\"\"
|
|
111
|
+
|
|
112
|
+
@example_tag
|
|
113
|
+
Examples:
|
|
114
|
+
|
|
115
|
+
Example
|
|
116
|
+
description
|
|
117
|
+
|
|
118
|
+
| param |
|
|
119
|
+
| value |
|
|
120
|
+
|
|
121
|
+
Examples: additional example
|
|
122
|
+
|
|
123
|
+
Rule: another rule
|
|
101
124
|
|
|
102
|
-
|
|
103
|
-
| value |
|
|
125
|
+
Which is empty
|
|
104
126
|
"""
|
|
105
127
|
And the output can be used to make an equivalent model
|
|
106
128
|
"""
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Feature: Rule modeling
|
|
2
|
+
|
|
3
|
+
Rule models Scenario portion of a feature. They expose several attributes of the rule that they represent, as well as
|
|
4
|
+
containing models for any background, scenarios, or outlines that are present in that rule.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given the following gherkin:
|
|
9
|
+
"""
|
|
10
|
+
Rule: Rule Foo
|
|
11
|
+
|
|
12
|
+
Some rule description.
|
|
13
|
+
|
|
14
|
+
Some more.
|
|
15
|
+
And some more.
|
|
16
|
+
|
|
17
|
+
Background: The background
|
|
18
|
+
* some setup step
|
|
19
|
+
|
|
20
|
+
Scenario: Scenario 1
|
|
21
|
+
* a step
|
|
22
|
+
|
|
23
|
+
Scenario Outline: Outline 1
|
|
24
|
+
* a step
|
|
25
|
+
Examples:
|
|
26
|
+
| param |
|
|
27
|
+
| value |
|
|
28
|
+
|
|
29
|
+
Scenario: Scenario 2
|
|
30
|
+
* a step
|
|
31
|
+
"""
|
|
32
|
+
And a feature model based on that gherkin
|
|
33
|
+
"""
|
|
34
|
+
@model = CukeModeler::Rule.new(<source_text>)
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
Scenario: Modeling a rule's keyword
|
|
39
|
+
When the rule's keyword is requested
|
|
40
|
+
"""
|
|
41
|
+
@model.keyword
|
|
42
|
+
"""
|
|
43
|
+
Then the model returns "Rule"
|
|
44
|
+
|
|
45
|
+
Scenario: Modeling a rule's name
|
|
46
|
+
When the rule's name is requested
|
|
47
|
+
"""
|
|
48
|
+
@model.name
|
|
49
|
+
"""
|
|
50
|
+
Then the model returns "Rule Foo"
|
|
51
|
+
|
|
52
|
+
Scenario: Modeling a rule's description
|
|
53
|
+
When the rule's description is requested
|
|
54
|
+
"""
|
|
55
|
+
@model.description
|
|
56
|
+
"""
|
|
57
|
+
Then the model returns
|
|
58
|
+
"""
|
|
59
|
+
Some rule description.
|
|
60
|
+
|
|
61
|
+
Some more.
|
|
62
|
+
And some more.
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
Scenario: Modeling a rule's background
|
|
66
|
+
When the rule's background is requested
|
|
67
|
+
"""
|
|
68
|
+
@model.background
|
|
69
|
+
"""
|
|
70
|
+
Then the model returns a model for the background "The background"
|
|
71
|
+
|
|
72
|
+
Scenario: Modeling a rule's scenarios
|
|
73
|
+
When the rule's scenarios are requested
|
|
74
|
+
"""
|
|
75
|
+
@model.scenarios
|
|
76
|
+
"""
|
|
77
|
+
Then the model returns models for the following scenarios:
|
|
78
|
+
| Scenario 1 |
|
|
79
|
+
| Scenario 2 |
|
|
80
|
+
|
|
81
|
+
Scenario: Modeling a rule's outlines
|
|
82
|
+
When the rule's outlines are requested
|
|
83
|
+
"""
|
|
84
|
+
@model.outlines
|
|
85
|
+
"""
|
|
86
|
+
Then the model returns models for the following outlines:
|
|
87
|
+
| Outline 1 |
|
|
88
|
+
|
|
89
|
+
Scenario: Modeling a rule's source line
|
|
90
|
+
Given the following gherkin:
|
|
91
|
+
"""
|
|
92
|
+
Feature:
|
|
93
|
+
|
|
94
|
+
Rule:
|
|
95
|
+
"""
|
|
96
|
+
And a feature model based on that gherkin
|
|
97
|
+
"""
|
|
98
|
+
@model = CukeModeler::Feature.new(<source_text>)
|
|
99
|
+
"""
|
|
100
|
+
And the rule model of that feature model
|
|
101
|
+
"""
|
|
102
|
+
@model = @model.rules.first
|
|
103
|
+
"""
|
|
104
|
+
When the rule's source line is requested
|
|
105
|
+
"""
|
|
106
|
+
@model.source_line
|
|
107
|
+
"""
|
|
108
|
+
Then the model returns "3"
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Feature: Rule output
|
|
2
|
+
|
|
3
|
+
A rule model's string output is a Gherkin representation of itself. As such, output from a rule model can be used as
|
|
4
|
+
input for the same kind of model.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Scenario: Outputting a rule model
|
|
8
|
+
Given the following gherkin:
|
|
9
|
+
"""
|
|
10
|
+
Rule: A rule with everything it could have
|
|
11
|
+
Including a description
|
|
12
|
+
and then some.
|
|
13
|
+
Background: a background
|
|
14
|
+
Background
|
|
15
|
+
description
|
|
16
|
+
* a step
|
|
17
|
+
|value1|
|
|
18
|
+
|value2|
|
|
19
|
+
* another step
|
|
20
|
+
@scenario_tag
|
|
21
|
+
Scenario: a scenario
|
|
22
|
+
Scenario
|
|
23
|
+
description
|
|
24
|
+
* a step
|
|
25
|
+
* another step
|
|
26
|
+
\"\"\" with content type
|
|
27
|
+
some text
|
|
28
|
+
\"\"\"
|
|
29
|
+
@outline_tag
|
|
30
|
+
Scenario Outline: an outline
|
|
31
|
+
Outline
|
|
32
|
+
description
|
|
33
|
+
* a step
|
|
34
|
+
|value2|
|
|
35
|
+
* another step
|
|
36
|
+
\"\"\"
|
|
37
|
+
some text
|
|
38
|
+
\"\"\"
|
|
39
|
+
@example_tag
|
|
40
|
+
Examples:
|
|
41
|
+
Example
|
|
42
|
+
description
|
|
43
|
+
|param|
|
|
44
|
+
|value|
|
|
45
|
+
Examples: additional example
|
|
46
|
+
"""
|
|
47
|
+
And a rule model based on that gherkin
|
|
48
|
+
"""
|
|
49
|
+
@model = CukeModeler::Rule.new(<source_text>)
|
|
50
|
+
"""
|
|
51
|
+
When the model is output as a string
|
|
52
|
+
"""
|
|
53
|
+
@model.to_s
|
|
54
|
+
"""
|
|
55
|
+
Then the following text is provided:
|
|
56
|
+
"""
|
|
57
|
+
Rule: A rule with everything it could have
|
|
58
|
+
|
|
59
|
+
Including a description
|
|
60
|
+
and then some.
|
|
61
|
+
|
|
62
|
+
Background: a background
|
|
63
|
+
|
|
64
|
+
Background
|
|
65
|
+
description
|
|
66
|
+
|
|
67
|
+
* a step
|
|
68
|
+
| value1 |
|
|
69
|
+
| value2 |
|
|
70
|
+
* another step
|
|
71
|
+
|
|
72
|
+
@scenario_tag
|
|
73
|
+
Scenario: a scenario
|
|
74
|
+
|
|
75
|
+
Scenario
|
|
76
|
+
description
|
|
77
|
+
|
|
78
|
+
* a step
|
|
79
|
+
* another step
|
|
80
|
+
\"\"\" with content type
|
|
81
|
+
some text
|
|
82
|
+
\"\"\"
|
|
83
|
+
|
|
84
|
+
@outline_tag
|
|
85
|
+
Scenario Outline: an outline
|
|
86
|
+
|
|
87
|
+
Outline
|
|
88
|
+
description
|
|
89
|
+
|
|
90
|
+
* a step
|
|
91
|
+
| value2 |
|
|
92
|
+
* another step
|
|
93
|
+
\"\"\"
|
|
94
|
+
some text
|
|
95
|
+
\"\"\"
|
|
96
|
+
|
|
97
|
+
@example_tag
|
|
98
|
+
Examples:
|
|
99
|
+
|
|
100
|
+
Example
|
|
101
|
+
description
|
|
102
|
+
|
|
103
|
+
| param |
|
|
104
|
+
| value |
|
|
105
|
+
|
|
106
|
+
Examples: additional example
|
|
107
|
+
"""
|
|
108
|
+
And the output can be used to make an equivalent model
|
|
109
|
+
"""
|
|
110
|
+
CukeModeler::Rule.new(@model.to_s)
|
|
111
|
+
"""
|
metadata
CHANGED
|
@@ -1,63 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cuke_modeler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.3.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: 2020-
|
|
11
|
+
date: 2020-08-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: gherkin
|
|
14
|
+
name: cucumber-gherkin
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "<"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '16.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "<"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: json
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '1.0'
|
|
34
|
-
- - "<"
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: '3.0'
|
|
37
|
-
type: :runtime
|
|
38
|
-
prerelease: false
|
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
-
requirements:
|
|
41
|
-
- - ">="
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
version: '1.0'
|
|
44
|
-
- - "<"
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '3.0'
|
|
47
|
-
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: multi_json
|
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '1.0'
|
|
54
|
-
type: :runtime
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '1.0'
|
|
26
|
+
version: '16.0'
|
|
61
27
|
- !ruby/object:Gem::Dependency
|
|
62
28
|
name: bundler
|
|
63
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -118,16 +84,16 @@ dependencies:
|
|
|
118
84
|
name: simplecov
|
|
119
85
|
requirement: !ruby/object:Gem::Requirement
|
|
120
86
|
requirements:
|
|
121
|
-
- - "
|
|
87
|
+
- - "<="
|
|
122
88
|
- !ruby/object:Gem::Version
|
|
123
|
-
version:
|
|
89
|
+
version: 0.16.1
|
|
124
90
|
type: :development
|
|
125
91
|
prerelease: false
|
|
126
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
93
|
requirements:
|
|
128
|
-
- - "
|
|
94
|
+
- - "<="
|
|
129
95
|
- !ruby/object:Gem::Version
|
|
130
|
-
version:
|
|
96
|
+
version: 0.16.1
|
|
131
97
|
- !ruby/object:Gem::Dependency
|
|
132
98
|
name: racatt
|
|
133
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -170,33 +136,45 @@ dependencies:
|
|
|
170
136
|
- - "<"
|
|
171
137
|
- !ruby/object:Gem::Version
|
|
172
138
|
version: 4.0.0
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: test-unit
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "<"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: 4.0.0
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "<"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: 4.0.0
|
|
173
153
|
description: This gem facilitates modeling a test suite that is written in Gherkin
|
|
174
154
|
(e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by providing an abstraction
|
|
175
|
-
layer on top of the Abstract Syntax Tree that the 'gherkin' gem generates
|
|
176
|
-
features, as well as providing models for feature files and directories
|
|
177
|
-
to be able to have a fully traversable model tree of a test suite's structure.
|
|
178
|
-
models can then be analyzed or manipulated more easily than the underlying
|
|
155
|
+
layer on top of the Abstract Syntax Tree that the 'cucumber-gherkin' gem generates
|
|
156
|
+
when parsing features, as well as providing models for feature files and directories
|
|
157
|
+
in order to be able to have a fully traversable model tree of a test suite's structure.
|
|
158
|
+
These models can then be analyzed or manipulated more easily than the underlying
|
|
159
|
+
AST layer.
|
|
179
160
|
email:
|
|
180
161
|
- morrow748@gmail.com
|
|
181
162
|
executables: []
|
|
182
163
|
extensions: []
|
|
183
164
|
extra_rdoc_files: []
|
|
184
165
|
files:
|
|
185
|
-
- ".gitignore"
|
|
186
|
-
- ".simplecov"
|
|
187
|
-
- ".travis.yml"
|
|
188
166
|
- CHANGELOG.md
|
|
189
|
-
- Gemfile
|
|
190
167
|
- LICENSE.txt
|
|
191
168
|
- README.md
|
|
192
|
-
- Rakefile
|
|
193
|
-
- appveyor.yml
|
|
194
169
|
- cuke_modeler.gemspec
|
|
195
170
|
- lib/cuke_modeler.rb
|
|
196
|
-
- lib/cuke_modeler/adapters/
|
|
197
|
-
- lib/cuke_modeler/adapters/
|
|
198
|
-
- lib/cuke_modeler/adapters/
|
|
199
|
-
- lib/cuke_modeler/adapters/
|
|
171
|
+
- lib/cuke_modeler/adapters/gherkin_10_adapter.rb
|
|
172
|
+
- lib/cuke_modeler/adapters/gherkin_11_adapter.rb
|
|
173
|
+
- lib/cuke_modeler/adapters/gherkin_12_adapter.rb
|
|
174
|
+
- lib/cuke_modeler/adapters/gherkin_13_adapter.rb
|
|
175
|
+
- lib/cuke_modeler/adapters/gherkin_14_adapter.rb
|
|
176
|
+
- lib/cuke_modeler/adapters/gherkin_15_adapter.rb
|
|
177
|
+
- lib/cuke_modeler/adapters/gherkin_9_adapter.rb
|
|
200
178
|
- lib/cuke_modeler/containing.rb
|
|
201
179
|
- lib/cuke_modeler/described.rb
|
|
202
180
|
- lib/cuke_modeler/models/background.rb
|
|
@@ -210,6 +188,7 @@ files:
|
|
|
210
188
|
- lib/cuke_modeler/models/model.rb
|
|
211
189
|
- lib/cuke_modeler/models/outline.rb
|
|
212
190
|
- lib/cuke_modeler/models/row.rb
|
|
191
|
+
- lib/cuke_modeler/models/rule.rb
|
|
213
192
|
- lib/cuke_modeler/models/scenario.rb
|
|
214
193
|
- lib/cuke_modeler/models/step.rb
|
|
215
194
|
- lib/cuke_modeler/models/table.rb
|
|
@@ -246,6 +225,8 @@ files:
|
|
|
246
225
|
- testing/cucumber/features/modeling/outline_output.feature
|
|
247
226
|
- testing/cucumber/features/modeling/row_modeling.feature
|
|
248
227
|
- testing/cucumber/features/modeling/row_output.feature
|
|
228
|
+
- testing/cucumber/features/modeling/rule_modeling.feature
|
|
229
|
+
- testing/cucumber/features/modeling/rule_output.feature
|
|
249
230
|
- testing/cucumber/features/modeling/scenario_modeling.feature
|
|
250
231
|
- testing/cucumber/features/modeling/scenario_output.feature
|
|
251
232
|
- testing/cucumber/features/modeling/step_modeling.feature
|
|
@@ -254,88 +235,6 @@ files:
|
|
|
254
235
|
- testing/cucumber/features/modeling/table_output.feature
|
|
255
236
|
- testing/cucumber/features/modeling/tag_modeling.feature
|
|
256
237
|
- testing/cucumber/features/modeling/tag_output.feature
|
|
257
|
-
- testing/cucumber/step_definitions/action_steps.rb
|
|
258
|
-
- testing/cucumber/step_definitions/background_steps.rb
|
|
259
|
-
- testing/cucumber/step_definitions/directory_steps.rb
|
|
260
|
-
- testing/cucumber/step_definitions/doc_string_steps.rb
|
|
261
|
-
- testing/cucumber/step_definitions/feature_file_steps.rb
|
|
262
|
-
- testing/cucumber/step_definitions/feature_steps.rb
|
|
263
|
-
- testing/cucumber/step_definitions/modeling_steps.rb
|
|
264
|
-
- testing/cucumber/step_definitions/setup_steps.rb
|
|
265
|
-
- testing/cucumber/step_definitions/step_steps.rb
|
|
266
|
-
- testing/cucumber/step_definitions/table_steps.rb
|
|
267
|
-
- testing/cucumber/step_definitions/tag_steps.rb
|
|
268
|
-
- testing/cucumber/step_definitions/verification_steps.rb
|
|
269
|
-
- testing/cucumber/support/env.rb
|
|
270
|
-
- testing/dialect_helper.rb
|
|
271
|
-
- testing/file_helper.rb
|
|
272
|
-
- testing/gemfiles/gherkin2.gemfile
|
|
273
|
-
- testing/gemfiles/gherkin3.gemfile
|
|
274
|
-
- testing/gemfiles/gherkin4.gemfile
|
|
275
|
-
- testing/gemfiles/gherkin5.gemfile
|
|
276
|
-
- testing/gemfiles/gherkin6.gemfile
|
|
277
|
-
- testing/rspec/spec/integration/adapters/gherkin_2_adapter_spec.rb
|
|
278
|
-
- testing/rspec/spec/integration/adapters/gherkin_3_adapter_spec.rb
|
|
279
|
-
- testing/rspec/spec/integration/adapters/gherkin_4_adapter_spec.rb
|
|
280
|
-
- testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb
|
|
281
|
-
- testing/rspec/spec/integration/models/background_integration_spec.rb
|
|
282
|
-
- testing/rspec/spec/integration/models/cell_integration_spec.rb
|
|
283
|
-
- testing/rspec/spec/integration/models/comment_integration_spec.rb
|
|
284
|
-
- testing/rspec/spec/integration/models/directory_integration_spec.rb
|
|
285
|
-
- testing/rspec/spec/integration/models/doc_string_integration_spec.rb
|
|
286
|
-
- testing/rspec/spec/integration/models/example_integration_spec.rb
|
|
287
|
-
- testing/rspec/spec/integration/models/feature_file_integration_spec.rb
|
|
288
|
-
- testing/rspec/spec/integration/models/feature_integration_spec.rb
|
|
289
|
-
- testing/rspec/spec/integration/models/model_integration_spec.rb
|
|
290
|
-
- testing/rspec/spec/integration/models/outline_integration_spec.rb
|
|
291
|
-
- testing/rspec/spec/integration/models/row_integration_spec.rb
|
|
292
|
-
- testing/rspec/spec/integration/models/scenario_integration_spec.rb
|
|
293
|
-
- testing/rspec/spec/integration/models/step_integration_spec.rb
|
|
294
|
-
- testing/rspec/spec/integration/models/table_integration_spec.rb
|
|
295
|
-
- testing/rspec/spec/integration/models/tag_integration_spec.rb
|
|
296
|
-
- testing/rspec/spec/integration/nested_integration_spec.rb
|
|
297
|
-
- testing/rspec/spec/integration/parsing_integration_spec.rb
|
|
298
|
-
- testing/rspec/spec/integration/shared/models_integration_specs.rb
|
|
299
|
-
- testing/rspec/spec/spec_helper.rb
|
|
300
|
-
- testing/rspec/spec/unit/cuke_modeler_unit_spec.rb
|
|
301
|
-
- testing/rspec/spec/unit/described_unit_spec.rb
|
|
302
|
-
- testing/rspec/spec/unit/models/background_unit_spec.rb
|
|
303
|
-
- testing/rspec/spec/unit/models/cell_unit_spec.rb
|
|
304
|
-
- testing/rspec/spec/unit/models/comment_unit_spec.rb
|
|
305
|
-
- testing/rspec/spec/unit/models/directory_unit_spec.rb
|
|
306
|
-
- testing/rspec/spec/unit/models/doc_string_unit_spec.rb
|
|
307
|
-
- testing/rspec/spec/unit/models/example_unit_spec.rb
|
|
308
|
-
- testing/rspec/spec/unit/models/feature_file_unit_spec.rb
|
|
309
|
-
- testing/rspec/spec/unit/models/feature_unit_spec.rb
|
|
310
|
-
- testing/rspec/spec/unit/models/model_unit_spec.rb
|
|
311
|
-
- testing/rspec/spec/unit/models/outline_unit_spec.rb
|
|
312
|
-
- testing/rspec/spec/unit/models/row_unit_spec.rb
|
|
313
|
-
- testing/rspec/spec/unit/models/scenario_unit_spec.rb
|
|
314
|
-
- testing/rspec/spec/unit/models/step_unit_spec.rb
|
|
315
|
-
- testing/rspec/spec/unit/models/table_unit_spec.rb
|
|
316
|
-
- testing/rspec/spec/unit/models/tag_unit_spec.rb
|
|
317
|
-
- testing/rspec/spec/unit/named_unit_spec.rb
|
|
318
|
-
- testing/rspec/spec/unit/nested_unit_spec.rb
|
|
319
|
-
- testing/rspec/spec/unit/parsed_unit_spec.rb
|
|
320
|
-
- testing/rspec/spec/unit/parsing_unit_spec.rb
|
|
321
|
-
- testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb
|
|
322
|
-
- testing/rspec/spec/unit/shared/containing_models_unit_specs.rb
|
|
323
|
-
- testing/rspec/spec/unit/shared/described_models_unit_specs.rb
|
|
324
|
-
- testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb
|
|
325
|
-
- testing/rspec/spec/unit/shared/models_unit_specs.rb
|
|
326
|
-
- testing/rspec/spec/unit/shared/named_models_unit_specs.rb
|
|
327
|
-
- testing/rspec/spec/unit/shared/nested_models_unit_specs.rb
|
|
328
|
-
- testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb
|
|
329
|
-
- testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb
|
|
330
|
-
- testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb
|
|
331
|
-
- testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb
|
|
332
|
-
- testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb
|
|
333
|
-
- testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb
|
|
334
|
-
- testing/rspec/spec/unit/sourceable_unit_spec.rb
|
|
335
|
-
- testing/rspec/spec/unit/stepped_unit_spec.rb
|
|
336
|
-
- testing/rspec/spec/unit/taggable_unit_spec.rb
|
|
337
|
-
- testing/test_languages.json
|
|
338
|
-
- todo.txt
|
|
339
238
|
homepage: https://github.com/enkessler/cuke_modeler
|
|
340
239
|
licenses:
|
|
341
240
|
- MIT
|
|
@@ -348,7 +247,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
348
247
|
requirements:
|
|
349
248
|
- - ">="
|
|
350
249
|
- !ruby/object:Gem::Version
|
|
351
|
-
version:
|
|
250
|
+
version: '2.3'
|
|
352
251
|
- - "<"
|
|
353
252
|
- !ruby/object:Gem::Version
|
|
354
253
|
version: '3.0'
|