cuke_modeler 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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'