cuke_modeler 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -1
  3. data/README.md +11 -14
  4. data/cuke_modeler.gemspec +12 -9
  5. data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +12 -0
  6. data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +12 -0
  7. data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +12 -0
  8. data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +12 -0
  9. data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +313 -5
  10. data/lib/cuke_modeler/models/background.rb +1 -1
  11. data/lib/cuke_modeler/models/cell.rb +1 -1
  12. data/lib/cuke_modeler/models/comment.rb +1 -1
  13. data/lib/cuke_modeler/models/directory.rb +2 -2
  14. data/lib/cuke_modeler/models/doc_string.rb +1 -1
  15. data/lib/cuke_modeler/models/example.rb +1 -1
  16. data/lib/cuke_modeler/models/feature.rb +1 -1
  17. data/lib/cuke_modeler/models/feature_file.rb +2 -2
  18. data/lib/cuke_modeler/models/outline.rb +1 -1
  19. data/lib/cuke_modeler/models/row.rb +1 -1
  20. data/lib/cuke_modeler/models/scenario.rb +1 -1
  21. data/lib/cuke_modeler/models/step.rb +1 -1
  22. data/lib/cuke_modeler/models/table.rb +1 -1
  23. data/lib/cuke_modeler/models/tag.rb +1 -1
  24. data/lib/cuke_modeler/parsing.rb +29 -58
  25. data/lib/cuke_modeler/version.rb +1 -1
  26. metadata +33 -151
  27. data/.gitignore +0 -18
  28. data/.simplecov +0 -7
  29. data/.travis.yml +0 -81
  30. data/Gemfile +0 -44
  31. data/Rakefile +0 -73
  32. data/appveyor.yml +0 -88
  33. data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +0 -274
  34. data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +0 -297
  35. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +0 -309
  36. data/lib/cuke_modeler/adapters/gherkin_5_adapter.rb +0 -12
  37. data/lib/cuke_modeler/adapters/gherkin_6_adapter.rb +0 -310
  38. data/lib/cuke_modeler/adapters/gherkin_7_adapter.rb +0 -307
  39. data/lib/cuke_modeler/adapters/gherkin_8_adapter.rb +0 -12
  40. data/testing/cucumber/step_definitions/action_steps.rb +0 -13
  41. data/testing/cucumber/step_definitions/background_steps.rb +0 -1
  42. data/testing/cucumber/step_definitions/directory_steps.rb +0 -6
  43. data/testing/cucumber/step_definitions/doc_string_steps.rb +0 -1
  44. data/testing/cucumber/step_definitions/feature_file_steps.rb +0 -16
  45. data/testing/cucumber/step_definitions/feature_steps.rb +0 -7
  46. data/testing/cucumber/step_definitions/modeling_steps.rb +0 -49
  47. data/testing/cucumber/step_definitions/setup_steps.rb +0 -32
  48. data/testing/cucumber/step_definitions/step_steps.rb +0 -3
  49. data/testing/cucumber/step_definitions/table_steps.rb +0 -1
  50. data/testing/cucumber/step_definitions/tag_steps.rb +0 -3
  51. data/testing/cucumber/step_definitions/verification_steps.rb +0 -181
  52. data/testing/cucumber/support/env.rb +0 -30
  53. data/testing/dialect_helper.rb +0 -48
  54. data/testing/file_helper.rb +0 -47
  55. data/testing/gemfiles/gherkin2.gemfile +0 -33
  56. data/testing/gemfiles/gherkin3.gemfile +0 -26
  57. data/testing/gemfiles/gherkin4.gemfile +0 -27
  58. data/testing/gemfiles/gherkin5.gemfile +0 -27
  59. data/testing/gemfiles/gherkin6.gemfile +0 -10
  60. data/testing/gemfiles/gherkin7.gemfile +0 -9
  61. data/testing/gemfiles/gherkin8.gemfile +0 -9
  62. data/testing/gemfiles/gherkin9.gemfile +0 -9
  63. data/testing/helper_methods.rb +0 -23
  64. data/testing/rspec/spec/integration/adapters/gherkin_2_adapter_spec.rb +0 -166
  65. data/testing/rspec/spec/integration/adapters/gherkin_3_adapter_spec.rb +0 -166
  66. data/testing/rspec/spec/integration/adapters/gherkin_4_adapter_spec.rb +0 -165
  67. data/testing/rspec/spec/integration/adapters/gherkin_5_adapter_spec.rb +0 -165
  68. data/testing/rspec/spec/integration/adapters/gherkin_6_adapter_spec.rb +0 -159
  69. data/testing/rspec/spec/integration/adapters/gherkin_7_adapter_spec.rb +0 -162
  70. data/testing/rspec/spec/integration/adapters/gherkin_8_adapter_spec.rb +0 -162
  71. data/testing/rspec/spec/integration/adapters/gherkin_9_adapter_spec.rb +0 -162
  72. data/testing/rspec/spec/integration/models/background_integration_spec.rb +0 -438
  73. data/testing/rspec/spec/integration/models/cell_integration_spec.rb +0 -338
  74. data/testing/rspec/spec/integration/models/comment_integration_spec.rb +0 -180
  75. data/testing/rspec/spec/integration/models/directory_integration_spec.rb +0 -218
  76. data/testing/rspec/spec/integration/models/doc_string_integration_spec.rb +0 -398
  77. data/testing/rspec/spec/integration/models/example_integration_spec.rb +0 -753
  78. data/testing/rspec/spec/integration/models/feature_file_integration_spec.rb +0 -276
  79. data/testing/rspec/spec/integration/models/feature_integration_spec.rb +0 -655
  80. data/testing/rspec/spec/integration/models/model_integration_spec.rb +0 -15
  81. data/testing/rspec/spec/integration/models/outline_integration_spec.rb +0 -619
  82. data/testing/rspec/spec/integration/models/row_integration_spec.rb +0 -303
  83. data/testing/rspec/spec/integration/models/scenario_integration_spec.rb +0 -475
  84. data/testing/rspec/spec/integration/models/step_integration_spec.rb +0 -573
  85. data/testing/rspec/spec/integration/models/table_integration_spec.rb +0 -333
  86. data/testing/rspec/spec/integration/models/tag_integration_spec.rb +0 -271
  87. data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
  88. data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -143
  89. data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
  90. data/testing/rspec/spec/spec_helper.rb +0 -129
  91. data/testing/rspec/spec/unit/cuke_modeler_unit_spec.rb +0 -25
  92. data/testing/rspec/spec/unit/described_unit_spec.rb +0 -23
  93. data/testing/rspec/spec/unit/models/background_unit_spec.rb +0 -83
  94. data/testing/rspec/spec/unit/models/cell_unit_spec.rb +0 -68
  95. data/testing/rspec/spec/unit/models/comment_unit_spec.rb +0 -68
  96. data/testing/rspec/spec/unit/models/directory_unit_spec.rb +0 -127
  97. data/testing/rspec/spec/unit/models/doc_string_unit_spec.rb +0 -100
  98. data/testing/rspec/spec/unit/models/example_unit_spec.rb +0 -133
  99. data/testing/rspec/spec/unit/models/feature_file_unit_spec.rb +0 -125
  100. data/testing/rspec/spec/unit/models/feature_unit_spec.rb +0 -157
  101. data/testing/rspec/spec/unit/models/model_unit_spec.rb +0 -15
  102. data/testing/rspec/spec/unit/models/outline_unit_spec.rb +0 -117
  103. data/testing/rspec/spec/unit/models/row_unit_spec.rb +0 -68
  104. data/testing/rspec/spec/unit/models/scenario_unit_spec.rb +0 -86
  105. data/testing/rspec/spec/unit/models/step_unit_spec.rb +0 -109
  106. data/testing/rspec/spec/unit/models/table_unit_spec.rb +0 -77
  107. data/testing/rspec/spec/unit/models/tag_unit_spec.rb +0 -68
  108. data/testing/rspec/spec/unit/named_unit_spec.rb +0 -23
  109. data/testing/rspec/spec/unit/nested_unit_spec.rb +0 -43
  110. data/testing/rspec/spec/unit/parsed_unit_spec.rb +0 -27
  111. data/testing/rspec/spec/unit/parsing_unit_spec.rb +0 -54
  112. data/testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb +0 -14
  113. data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +0 -127
  114. data/testing/rspec/spec/unit/shared/described_models_unit_specs.rb +0 -38
  115. data/testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb +0 -58
  116. data/testing/rspec/spec/unit/shared/models_unit_specs.rb +0 -15
  117. data/testing/rspec/spec/unit/shared/named_models_unit_specs.rb +0 -39
  118. data/testing/rspec/spec/unit/shared/nested_models_unit_specs.rb +0 -51
  119. data/testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb +0 -39
  120. data/testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb +0 -18
  121. data/testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb +0 -39
  122. data/testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb +0 -46
  123. data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +0 -18
  124. data/testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb +0 -72
  125. data/testing/rspec/spec/unit/sourceable_unit_spec.rb +0 -27
  126. data/testing/rspec/spec/unit/stepped_unit_spec.rb +0 -23
  127. data/testing/rspec/spec/unit/taggable_unit_spec.rb +0 -69
  128. data/testing/test_languages.json +0 -45
  129. data/todo.txt +0 -25
@@ -64,7 +64,7 @@ module CukeModeler
64
64
 
65
65
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_background.feature')
66
66
 
67
- parsed_file.first['feature']['elements'].first
67
+ parsed_file['feature']['elements'].first
68
68
  end
69
69
 
70
70
  end
@@ -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.first['feature']['elements'].first['steps'].first['table']['rows'].first['cells'].first
44
+ parsed_file['feature']['elements'].first['steps'].first['table']['rows'].first['cells'].first
45
45
  end
46
46
 
47
47
  end
@@ -40,7 +40,7 @@ module CukeModeler
40
40
 
41
41
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_comment.feature')
42
42
 
43
- parsed_file.first['comments'].last
43
+ parsed_file['comments'].last
44
44
  end
45
45
 
46
46
  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).first
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.first['feature']['elements'].first['steps'].first['doc_string']
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.first['feature']['elements'].first['examples'].first
127
+ parsed_file['feature']['elements'].first['examples'].first
128
128
  end
129
129
 
130
130
  def determine_buffer_size(index)
@@ -90,7 +90,7 @@ module CukeModeler
90
90
  def parse_source(source_text)
91
91
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_feature.feature')
92
92
 
93
- parsed_file.first['feature']
93
+ parsed_file['feature']
94
94
  end
95
95
 
96
96
  def background_output_string
@@ -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).first
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
@@ -72,7 +72,7 @@ module CukeModeler
72
72
 
73
73
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_outline.feature')
74
74
 
75
- parsed_file.first['feature']['elements'].first
75
+ parsed_file['feature']['elements'].first
76
76
  end
77
77
 
78
78
  def examples_output_string
@@ -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.first['feature']['elements'].first['steps'].first['table']['rows'].first
46
+ parsed_file['feature']['elements'].first['steps'].first['table']['rows'].first
47
47
  end
48
48
 
49
49
  end
@@ -67,7 +67,7 @@ module CukeModeler
67
67
 
68
68
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_scenario.feature')
69
69
 
70
- parsed_file.first['feature']['elements'].first
70
+ parsed_file['feature']['elements'].first
71
71
  end
72
72
 
73
73
  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.first['feature']['elements'].first['steps'].first
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.first['feature']['elements'].first['steps'].first['table']
50
+ parsed_file['feature']['elements'].first['steps'].first['table']
51
51
  end
52
52
 
53
53
  def row_output_string(row)
@@ -40,7 +40,7 @@ module CukeModeler
40
40
 
41
41
  parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_tag.feature')
42
42
 
43
- parsed_file.first['feature']['tags'].first
43
+ parsed_file['feature']['tags'].first
44
44
  end
45
45
 
46
46
  end
@@ -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 2.x, 8.x, 9.x
5
+ # Gherkin 9.x
6
6
  require 'gherkin'
7
- rescue LoadError
8
- begin
9
- require 'gherkin/parser'
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 6, 7, 8, 9
25
- require 'gherkin/dialect'
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 = Gem.loaded_specs['gherkin'].version.version[/^2\./] ? Gherkin::I18n::LANGUAGES : Gherkin::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 an array
68
- # containing the hash representation of its logical structure.
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 9
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
- potential_error_message = messages.find { |message| message[:attachment] }
82
+ error_message = messages.find { |message| message[:parse_error] }
93
83
  gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
94
84
 
95
- if potential_error_message
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 8
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[:gherkinDocument] }
97
+ gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
109
98
 
110
99
  if potential_error_message
111
- raise potential_error_message[:attachment][:data] if potential_error_message[:attachment][:data] =~ /expected.*got/
100
+ raise potential_error_message[:attachment][:body] if potential_error_message[:attachment][:body] =~ /expected.*got/
112
101
  end
113
102
 
114
- gherkin_ast_message[:gherkinDocument]
103
+ gherkin_ast_message[:gherkin_document]
115
104
  end
116
- when 6, 7
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::Gherkin.from_source(filename, source_text).to_a.map(&:to_hash)
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[:gherkinDocument] }
113
+ gherkin_ast_message = messages.find { |message| message[:gherkin_document] }
124
114
 
125
115
  if potential_error_message
126
- raise potential_error_message[:attachment][:data] if potential_error_message[:attachment][:data] =~ /expected.*got/
116
+ raise potential_error_message[:attachment][:text] if potential_error_message[:attachment][:text] =~ /expected.*got/
127
117
  end
128
118
 
129
- gherkin_ast_message[:gherkinDocument]
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}'")
@@ -1,4 +1,4 @@
1
1
  module CukeModeler
2
2
  # The gem version
3
- VERSION = '2.1.0'
3
+ VERSION = '3.0.0'
4
4
  end
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: 2.1.0
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-05-28 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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: 1.0.0
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: 1.0.0
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 when parsing
176
- features, as well as providing models for feature files and directories in order
177
- to be able to have a fully traversable model tree of a test suite's structure. These
178
- models can then be analyzed or manipulated more easily than the underlying AST layer.
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/gherkin_2_adapter.rb
197
- - lib/cuke_modeler/adapters/gherkin_3_adapter.rb
198
- - lib/cuke_modeler/adapters/gherkin_4_adapter.rb
199
- - lib/cuke_modeler/adapters/gherkin_5_adapter.rb
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: 1.8.7
245
+ version: '2.3'
364
246
  - - "<"
365
247
  - !ruby/object:Gem::Version
366
248
  version: '3.0'