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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -1
- data/README.md +11 -14
- data/cuke_modeler.gemspec +12 -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_9_adapter.rb +313 -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 +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 +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 +29 -58
- data/lib/cuke_modeler/version.rb +1 -1
- metadata +33 -151
- data/.gitignore +0 -18
- data/.simplecov +0 -7
- data/.travis.yml +0 -81
- data/Gemfile +0 -44
- data/Rakefile +0 -73
- data/appveyor.yml +0 -88
- 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/lib/cuke_modeler/adapters/gherkin_5_adapter.rb +0 -12
- data/lib/cuke_modeler/adapters/gherkin_6_adapter.rb +0 -310
- data/lib/cuke_modeler/adapters/gherkin_7_adapter.rb +0 -307
- data/lib/cuke_modeler/adapters/gherkin_8_adapter.rb +0 -12
- 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/gemfiles/gherkin7.gemfile +0 -9
- data/testing/gemfiles/gherkin8.gemfile +0 -9
- data/testing/gemfiles/gherkin9.gemfile +0 -9
- data/testing/helper_methods.rb +0 -23
- 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_5_adapter_spec.rb +0 -165
- data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +0 -159
- data/testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb +0 -162
- data/testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb +0 -162
- data/testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb +0 -162
- data/testing/rspec/spec/integration/models/background_integration_spec.rb +0 -438
- data/testing/rspec/spec/integration/models/cell_integration_spec.rb +0 -338
- data/testing/rspec/spec/integration/models/comment_integration_spec.rb +0 -180
- data/testing/rspec/spec/integration/models/directory_integration_spec.rb +0 -218
- data/testing/rspec/spec/integration/models/doc_string_integration_spec.rb +0 -398
- data/testing/rspec/spec/integration/models/example_integration_spec.rb +0 -753
- data/testing/rspec/spec/integration/models/feature_file_integration_spec.rb +0 -276
- data/testing/rspec/spec/integration/models/feature_integration_spec.rb +0 -655
- data/testing/rspec/spec/integration/models/model_integration_spec.rb +0 -15
- data/testing/rspec/spec/integration/models/outline_integration_spec.rb +0 -619
- data/testing/rspec/spec/integration/models/row_integration_spec.rb +0 -303
- data/testing/rspec/spec/integration/models/scenario_integration_spec.rb +0 -475
- data/testing/rspec/spec/integration/models/step_integration_spec.rb +0 -573
- data/testing/rspec/spec/integration/models/table_integration_spec.rb +0 -333
- data/testing/rspec/spec/integration/models/tag_integration_spec.rb +0 -271
- data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -143
- data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
- data/testing/rspec/spec/spec_helper.rb +0 -129
- 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
|
@@ -41,7 +41,7 @@ module CukeModeler
|
|
|
41
41
|
|
|
42
42
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_cell.feature')
|
|
43
43
|
|
|
44
|
-
parsed_file
|
|
44
|
+
parsed_file['feature']['elements'].first['steps'].first['table']['rows'].first['cells'].first
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
end
|
|
@@ -82,8 +82,8 @@ module CukeModeler
|
|
|
82
82
|
def process_feature_file(file_path)
|
|
83
83
|
source_text = IO.read(file_path)
|
|
84
84
|
|
|
85
|
-
feature_file_data = Parsing::parse_text(source_text, file_path)
|
|
86
|
-
feature_file_data = feature_file_data.merge({'path' => file_path})
|
|
85
|
+
feature_file_data = Parsing::parse_text(source_text, file_path)
|
|
86
|
+
feature_file_data = feature_file_data.merge({ 'path' => file_path })
|
|
87
87
|
|
|
88
88
|
feature_file_data
|
|
89
89
|
end
|
|
@@ -45,7 +45,7 @@ module CukeModeler
|
|
|
45
45
|
|
|
46
46
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_doc_string.feature')
|
|
47
47
|
|
|
48
|
-
parsed_file
|
|
48
|
+
parsed_file['feature']['elements'].first['steps'].first['doc_string']
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def content_type_output_string
|
|
@@ -124,7 +124,7 @@ module CukeModeler
|
|
|
124
124
|
|
|
125
125
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_example.feature')
|
|
126
126
|
|
|
127
|
-
parsed_file
|
|
127
|
+
parsed_file['feature']['elements'].first['examples'].first
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
def determine_buffer_size(index)
|
|
@@ -57,8 +57,8 @@ module CukeModeler
|
|
|
57
57
|
def process_feature_file(file_path)
|
|
58
58
|
source_text = IO.read(file_path)
|
|
59
59
|
|
|
60
|
-
feature_file_data = Parsing::parse_text(source_text, file_path)
|
|
61
|
-
feature_file_data = feature_file_data.merge({'path' => file_path})
|
|
60
|
+
feature_file_data = Parsing::parse_text(source_text, file_path)
|
|
61
|
+
feature_file_data = feature_file_data.merge({ 'path' => file_path })
|
|
62
62
|
|
|
63
63
|
feature_file_data
|
|
64
64
|
end
|
|
@@ -43,7 +43,7 @@ module CukeModeler
|
|
|
43
43
|
|
|
44
44
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_row.feature')
|
|
45
45
|
|
|
46
|
-
parsed_file
|
|
46
|
+
parsed_file['feature']['elements'].first['steps'].first['table']['rows'].first
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
end
|
|
@@ -64,7 +64,7 @@ module CukeModeler
|
|
|
64
64
|
|
|
65
65
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_step.feature')
|
|
66
66
|
|
|
67
|
-
parsed_file
|
|
67
|
+
parsed_file['feature']['elements'].first['steps'].first
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def text_matches?(other_step)
|
|
@@ -47,7 +47,7 @@ module CukeModeler
|
|
|
47
47
|
|
|
48
48
|
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_table.feature')
|
|
49
49
|
|
|
50
|
-
parsed_file
|
|
50
|
+
parsed_file['feature']['elements'].first['steps'].first['table']
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def row_output_string(row)
|
data/lib/cuke_modeler/parsing.rb
CHANGED
|
@@ -2,35 +2,23 @@
|
|
|
2
2
|
# be determined and the rest of the needed files can be loaded. The entry points vary across versions,
|
|
3
3
|
# so try them all until one of them works.
|
|
4
4
|
begin
|
|
5
|
-
# Gherkin
|
|
5
|
+
# Gherkin 9.x
|
|
6
6
|
require 'gherkin'
|
|
7
|
-
rescue LoadError
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
rescue LoadError
|
|
11
|
-
# Gherkin 6.x, 7.x
|
|
12
|
-
require 'gherkin/gherkin'
|
|
13
|
-
end
|
|
7
|
+
rescue LoadError => e
|
|
8
|
+
# Add other entry points again if things change again
|
|
9
|
+
raise e
|
|
14
10
|
end
|
|
15
11
|
|
|
16
12
|
|
|
17
|
-
# The *gherkin* gem loads differently and has different grammar rules across major versions. Parsing
|
|
18
|
-
# will be done with an 'adapter' appropriate to the version of the *gherkin* gem that has been activated.
|
|
13
|
+
# The *cucumber-gherkin* gem loads differently and has different grammar rules across major versions. Parsing
|
|
14
|
+
# will be done with an 'adapter' appropriate to the version of the *cucumber-gherkin* gem that has been activated.
|
|
19
15
|
|
|
20
|
-
gherkin_version = Gem.loaded_specs['gherkin'].version.version
|
|
16
|
+
gherkin_version = Gem.loaded_specs['cucumber-gherkin'].version.version
|
|
21
17
|
gherkin_major_version = gherkin_version.match(/^(\d+)\./)[1].to_i
|
|
22
18
|
|
|
23
19
|
case gherkin_major_version
|
|
24
|
-
when
|
|
25
|
-
|
|
26
|
-
when 3, 4, 5
|
|
27
|
-
require 'gherkin/parser'
|
|
28
|
-
when 2
|
|
29
|
-
require 'stringio'
|
|
30
|
-
require 'gherkin/formatter/json_formatter'
|
|
31
|
-
require 'gherkin'
|
|
32
|
-
require 'json'
|
|
33
|
-
require 'multi_json'
|
|
20
|
+
when 9, 10, 11, 12, 13
|
|
21
|
+
# Currently nothing else to load beyond the entry point to the gem
|
|
34
22
|
else
|
|
35
23
|
raise("Unknown Gherkin version: '#{gherkin_version}'")
|
|
36
24
|
end
|
|
@@ -58,14 +46,15 @@ module CukeModeler
|
|
|
58
46
|
# The dialects currently known by the gherkin gem
|
|
59
47
|
def dialects
|
|
60
48
|
unless @dialects
|
|
61
|
-
@dialects =
|
|
49
|
+
@dialects = Gherkin::DIALECTS
|
|
62
50
|
end
|
|
63
51
|
|
|
64
52
|
@dialects
|
|
65
53
|
end
|
|
66
54
|
|
|
67
|
-
# Parses the Cucumber feature given in *source_text* and returns
|
|
68
|
-
#
|
|
55
|
+
# Parses the Cucumber feature given in *source_text* and returns a hash representation of
|
|
56
|
+
# its logical structure. This is a standardized AST that should remain consistent across
|
|
57
|
+
# different versions of `cucumber-gherkin`
|
|
69
58
|
def parse_text(source_text, filename = 'cuke_modeler_fake_file.feature')
|
|
70
59
|
raise(ArgumentError, "Text to parse must be a String but got #{source_text.class}") unless source_text.is_a?(String)
|
|
71
60
|
|
|
@@ -79,73 +68,55 @@ module CukeModeler
|
|
|
79
68
|
end
|
|
80
69
|
|
|
81
70
|
|
|
82
|
-
gherkin_version = Gem.loaded_specs['gherkin'].version.version
|
|
71
|
+
gherkin_version = Gem.loaded_specs['cucumber-gherkin'].version.version
|
|
83
72
|
gherkin_major_version = gherkin_version.match(/^(\d+)\./)[1].to_i
|
|
84
73
|
|
|
85
74
|
case gherkin_major_version
|
|
86
|
-
when
|
|
75
|
+
when 13
|
|
76
|
+
# todo - make these methods private?
|
|
87
77
|
# NOT A PART OF THE PUBLIC API
|
|
88
78
|
# The method to use for parsing Gherkin text
|
|
89
79
|
def parsing_method(source_text, filename)
|
|
90
80
|
messages = Gherkin.from_source(filename, source_text, { :include_gherkin_document => true }).to_a.map(&:to_hash)
|
|
91
81
|
|
|
92
|
-
|
|
82
|
+
error_message = messages.find { |message| message[:parse_error] }
|
|
93
83
|
gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
|
|
94
84
|
|
|
95
|
-
if
|
|
96
|
-
raise potential_error_message[:attachment][:data] if potential_error_message[:attachment][:data] =~ /expected.*got/
|
|
97
|
-
end
|
|
85
|
+
raise error_message[:parse_error][:message] if error_message
|
|
98
86
|
|
|
99
87
|
gherkin_ast_message[:gherkin_document]
|
|
100
88
|
end
|
|
101
|
-
when
|
|
89
|
+
when 12
|
|
90
|
+
# todo - make these methods private?
|
|
102
91
|
# NOT A PART OF THE PUBLIC API
|
|
103
92
|
# The method to use for parsing Gherkin text
|
|
104
93
|
def parsing_method(source_text, filename)
|
|
105
94
|
messages = Gherkin.from_source(filename, source_text, { :include_gherkin_document => true }).to_a.map(&:to_hash)
|
|
106
95
|
|
|
107
96
|
potential_error_message = messages.find { |message| message[:attachment] }
|
|
108
|
-
gherkin_ast_message = messages.find { |message| message[:
|
|
97
|
+
gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
|
|
109
98
|
|
|
110
99
|
if potential_error_message
|
|
111
|
-
raise potential_error_message[:attachment][:
|
|
100
|
+
raise potential_error_message[:attachment][:body] if potential_error_message[:attachment][:body] =~ /expected.*got/
|
|
112
101
|
end
|
|
113
102
|
|
|
114
|
-
gherkin_ast_message[:
|
|
103
|
+
gherkin_ast_message[:gherkin_document]
|
|
115
104
|
end
|
|
116
|
-
when
|
|
105
|
+
when 9, 10, 11
|
|
106
|
+
# todo - make these methods private?
|
|
117
107
|
# NOT A PART OF THE PUBLIC API
|
|
118
108
|
# The method to use for parsing Gherkin text
|
|
119
109
|
def parsing_method(source_text, filename)
|
|
120
|
-
messages = Gherkin
|
|
110
|
+
messages = Gherkin.from_source(filename, source_text, { :include_gherkin_document => true }).to_a.map(&:to_hash)
|
|
121
111
|
|
|
122
112
|
potential_error_message = messages.find { |message| message[:attachment] }
|
|
123
|
-
gherkin_ast_message = messages.find { |message| message[:
|
|
113
|
+
gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
|
|
124
114
|
|
|
125
115
|
if potential_error_message
|
|
126
|
-
raise potential_error_message[:attachment][:
|
|
116
|
+
raise potential_error_message[:attachment][:text] if potential_error_message[:attachment][:text] =~ /expected.*got/
|
|
127
117
|
end
|
|
128
118
|
|
|
129
|
-
gherkin_ast_message[:
|
|
130
|
-
end
|
|
131
|
-
when 3, 4, 5
|
|
132
|
-
# todo - make these methods private?
|
|
133
|
-
# NOT A PART OF THE PUBLIC API
|
|
134
|
-
# The method to use for parsing Gherkin text
|
|
135
|
-
# Filename isn't used by this version of Gherkin but keeping the parameter so that the calling method only has to know one method signature
|
|
136
|
-
def parsing_method(source_text, _filename)
|
|
137
|
-
Gherkin::Parser.new.parse(source_text)
|
|
138
|
-
end
|
|
139
|
-
when 2
|
|
140
|
-
# NOT A PART OF THE PUBLIC API
|
|
141
|
-
# The method to use for parsing Gherkin text
|
|
142
|
-
def parsing_method(source_text, filename)
|
|
143
|
-
io = StringIO.new
|
|
144
|
-
formatter = Gherkin::Formatter::JSONFormatter.new(io)
|
|
145
|
-
parser = Gherkin::Parser::Parser.new(formatter)
|
|
146
|
-
parser.parse(source_text, filename, 0)
|
|
147
|
-
formatter.done
|
|
148
|
-
MultiJson.load(io.string)
|
|
119
|
+
gherkin_ast_message[:gherkin_document]
|
|
149
120
|
end
|
|
150
121
|
else
|
|
151
122
|
raise("Unknown Gherkin version: '#{gherkin_version}'")
|
data/lib/cuke_modeler/version.rb
CHANGED
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.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Kessler
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-06-08 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: '14.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: '14.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,36 +136,42 @@ 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/
|
|
200
|
-
- lib/cuke_modeler/adapters/gherkin_6_adapter.rb
|
|
201
|
-
- lib/cuke_modeler/adapters/gherkin_7_adapter.rb
|
|
202
|
-
- lib/cuke_modeler/adapters/gherkin_8_adapter.rb
|
|
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
|
|
203
175
|
- lib/cuke_modeler/adapters/gherkin_9_adapter.rb
|
|
204
176
|
- lib/cuke_modeler/containing.rb
|
|
205
177
|
- lib/cuke_modeler/described.rb
|
|
@@ -258,96 +230,6 @@ files:
|
|
|
258
230
|
- testing/cucumber/features/modeling/table_output.feature
|
|
259
231
|
- testing/cucumber/features/modeling/tag_modeling.feature
|
|
260
232
|
- testing/cucumber/features/modeling/tag_output.feature
|
|
261
|
-
- testing/cucumber/step_definitions/action_steps.rb
|
|
262
|
-
- testing/cucumber/step_definitions/background_steps.rb
|
|
263
|
-
- testing/cucumber/step_definitions/directory_steps.rb
|
|
264
|
-
- testing/cucumber/step_definitions/doc_string_steps.rb
|
|
265
|
-
- testing/cucumber/step_definitions/feature_file_steps.rb
|
|
266
|
-
- testing/cucumber/step_definitions/feature_steps.rb
|
|
267
|
-
- testing/cucumber/step_definitions/modeling_steps.rb
|
|
268
|
-
- testing/cucumber/step_definitions/setup_steps.rb
|
|
269
|
-
- testing/cucumber/step_definitions/step_steps.rb
|
|
270
|
-
- testing/cucumber/step_definitions/table_steps.rb
|
|
271
|
-
- testing/cucumber/step_definitions/tag_steps.rb
|
|
272
|
-
- testing/cucumber/step_definitions/verification_steps.rb
|
|
273
|
-
- testing/cucumber/support/env.rb
|
|
274
|
-
- testing/dialect_helper.rb
|
|
275
|
-
- testing/file_helper.rb
|
|
276
|
-
- testing/gemfiles/gherkin2.gemfile
|
|
277
|
-
- testing/gemfiles/gherkin3.gemfile
|
|
278
|
-
- testing/gemfiles/gherkin4.gemfile
|
|
279
|
-
- testing/gemfiles/gherkin5.gemfile
|
|
280
|
-
- testing/gemfiles/gherkin6.gemfile
|
|
281
|
-
- testing/gemfiles/gherkin7.gemfile
|
|
282
|
-
- testing/gemfiles/gherkin8.gemfile
|
|
283
|
-
- testing/gemfiles/gherkin9.gemfile
|
|
284
|
-
- testing/helper_methods.rb
|
|
285
|
-
- testing/rspec/spec/integration/adapters/gherkin_2_adapter_spec.rb
|
|
286
|
-
- testing/rspec/spec/integration/adapters/gherkin_3_adapter_spec.rb
|
|
287
|
-
- testing/rspec/spec/integration/adapters/gherkin_4_adapter_spec.rb
|
|
288
|
-
- testing/rspec/spec/integration/adapters/gherkin_5_adapter_spec.rb
|
|
289
|
-
- testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb
|
|
290
|
-
- testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb
|
|
291
|
-
- testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb
|
|
292
|
-
- testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb
|
|
293
|
-
- testing/rspec/spec/integration/models/background_integration_spec.rb
|
|
294
|
-
- testing/rspec/spec/integration/models/cell_integration_spec.rb
|
|
295
|
-
- testing/rspec/spec/integration/models/comment_integration_spec.rb
|
|
296
|
-
- testing/rspec/spec/integration/models/directory_integration_spec.rb
|
|
297
|
-
- testing/rspec/spec/integration/models/doc_string_integration_spec.rb
|
|
298
|
-
- testing/rspec/spec/integration/models/example_integration_spec.rb
|
|
299
|
-
- testing/rspec/spec/integration/models/feature_file_integration_spec.rb
|
|
300
|
-
- testing/rspec/spec/integration/models/feature_integration_spec.rb
|
|
301
|
-
- testing/rspec/spec/integration/models/model_integration_spec.rb
|
|
302
|
-
- testing/rspec/spec/integration/models/outline_integration_spec.rb
|
|
303
|
-
- testing/rspec/spec/integration/models/row_integration_spec.rb
|
|
304
|
-
- testing/rspec/spec/integration/models/scenario_integration_spec.rb
|
|
305
|
-
- testing/rspec/spec/integration/models/step_integration_spec.rb
|
|
306
|
-
- testing/rspec/spec/integration/models/table_integration_spec.rb
|
|
307
|
-
- testing/rspec/spec/integration/models/tag_integration_spec.rb
|
|
308
|
-
- testing/rspec/spec/integration/nested_integration_spec.rb
|
|
309
|
-
- testing/rspec/spec/integration/parsing_integration_spec.rb
|
|
310
|
-
- testing/rspec/spec/integration/shared/models_integration_specs.rb
|
|
311
|
-
- testing/rspec/spec/spec_helper.rb
|
|
312
|
-
- testing/rspec/spec/unit/cuke_modeler_unit_spec.rb
|
|
313
|
-
- testing/rspec/spec/unit/described_unit_spec.rb
|
|
314
|
-
- testing/rspec/spec/unit/models/background_unit_spec.rb
|
|
315
|
-
- testing/rspec/spec/unit/models/cell_unit_spec.rb
|
|
316
|
-
- testing/rspec/spec/unit/models/comment_unit_spec.rb
|
|
317
|
-
- testing/rspec/spec/unit/models/directory_unit_spec.rb
|
|
318
|
-
- testing/rspec/spec/unit/models/doc_string_unit_spec.rb
|
|
319
|
-
- testing/rspec/spec/unit/models/example_unit_spec.rb
|
|
320
|
-
- testing/rspec/spec/unit/models/feature_file_unit_spec.rb
|
|
321
|
-
- testing/rspec/spec/unit/models/feature_unit_spec.rb
|
|
322
|
-
- testing/rspec/spec/unit/models/model_unit_spec.rb
|
|
323
|
-
- testing/rspec/spec/unit/models/outline_unit_spec.rb
|
|
324
|
-
- testing/rspec/spec/unit/models/row_unit_spec.rb
|
|
325
|
-
- testing/rspec/spec/unit/models/scenario_unit_spec.rb
|
|
326
|
-
- testing/rspec/spec/unit/models/step_unit_spec.rb
|
|
327
|
-
- testing/rspec/spec/unit/models/table_unit_spec.rb
|
|
328
|
-
- testing/rspec/spec/unit/models/tag_unit_spec.rb
|
|
329
|
-
- testing/rspec/spec/unit/named_unit_spec.rb
|
|
330
|
-
- testing/rspec/spec/unit/nested_unit_spec.rb
|
|
331
|
-
- testing/rspec/spec/unit/parsed_unit_spec.rb
|
|
332
|
-
- testing/rspec/spec/unit/parsing_unit_spec.rb
|
|
333
|
-
- testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb
|
|
334
|
-
- testing/rspec/spec/unit/shared/containing_models_unit_specs.rb
|
|
335
|
-
- testing/rspec/spec/unit/shared/described_models_unit_specs.rb
|
|
336
|
-
- testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb
|
|
337
|
-
- testing/rspec/spec/unit/shared/models_unit_specs.rb
|
|
338
|
-
- testing/rspec/spec/unit/shared/named_models_unit_specs.rb
|
|
339
|
-
- testing/rspec/spec/unit/shared/nested_models_unit_specs.rb
|
|
340
|
-
- testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb
|
|
341
|
-
- testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb
|
|
342
|
-
- testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb
|
|
343
|
-
- testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb
|
|
344
|
-
- testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb
|
|
345
|
-
- testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb
|
|
346
|
-
- testing/rspec/spec/unit/sourceable_unit_spec.rb
|
|
347
|
-
- testing/rspec/spec/unit/stepped_unit_spec.rb
|
|
348
|
-
- testing/rspec/spec/unit/taggable_unit_spec.rb
|
|
349
|
-
- testing/test_languages.json
|
|
350
|
-
- todo.txt
|
|
351
233
|
homepage: https://github.com/enkessler/cuke_modeler
|
|
352
234
|
licenses:
|
|
353
235
|
- MIT
|
|
@@ -360,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
360
242
|
requirements:
|
|
361
243
|
- - ">="
|
|
362
244
|
- !ruby/object:Gem::Version
|
|
363
|
-
version:
|
|
245
|
+
version: '2.3'
|
|
364
246
|
- - "<"
|
|
365
247
|
- !ruby/object:Gem::Version
|
|
366
248
|
version: '3.0'
|