cucumber-messages 15.0.0 → 17.0.1

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.
@@ -2,79 +2,29 @@ require 'cucumber/messages'
2
2
 
3
3
  module Cucumber
4
4
  module Messages
5
- describe Messages do
6
-
7
- it "json-roundtrips messages" do
8
- a1 = Attachment.new(body: 'hello')
9
- expect(a1.body).to eq('hello')
10
- a2 = Attachment.new(JSON.parse(a1.to_json(proto3: true)))
11
- expect(a2).to(eq(a1))
12
- end
13
-
14
- it "omits empty string fields in output" do
15
- io = StringIO.new
16
- message = Envelope.new(source: Source.new(data: ''))
17
- message.write_ndjson_to(io)
18
-
19
- io.rewind
20
- json = io.read
21
-
22
- expect(json).to eq("{\"source\":{}}\n")
23
- end
24
-
25
- it "omits empty number fields in output" do
26
- io = StringIO.new
27
- message = Envelope.new(
28
- test_case_started: TestCaseStarted.new(
29
- timestamp: Timestamp.new(
30
- seconds: 0
31
- )
32
- )
33
- )
34
- message.write_ndjson_to(io)
35
-
36
- io.rewind
37
- json = io.read
38
-
39
- expect(json).to eq('{"testCaseStarted":{"timestamp":{}}}' + "\n")
40
- end
41
-
42
- it "omits empty repeated fields in output" do
43
- io = StringIO.new
44
- message = Envelope.new(
45
- parameter_type: ParameterType.new(
46
- regular_expressions: []
5
+ describe 'messages' do
6
+ let(:outgoing_messages) do
7
+ [
8
+ Envelope.new(
9
+ source: Source.new(data: 'Feature: Hello')
10
+ ),
11
+ Envelope.new(
12
+ attachment: Attachment.new(body: 'Hello', content_encoding: AttachmentContentEncoding::IDENTITY)
47
13
  )
48
- )
49
- message.write_ndjson_to(io)
50
-
51
- io.rewind
52
- json = io.read
53
-
54
- expect(json).to eq('{"parameterType":{}}' + "\n")
14
+ ]
55
15
  end
56
16
 
57
17
  it "can be serialised over an ndjson stream" do
58
- outgoing_messages = [
59
- Envelope.new(source: Source.new(data: 'Feature: Hello')),
60
- Envelope.new(attachment: Attachment.new(binary: [1,2,3,4].pack('C*')))
61
- ]
62
-
63
18
  io = StringIO.new
64
19
  write_outgoing_messages(outgoing_messages, io)
65
20
 
66
21
  io.rewind
67
22
  incoming_messages = NdjsonToMessageEnumerator.new(io)
68
23
 
69
- expect(incoming_messages.to_a).to(eq(outgoing_messages))
24
+ expect(incoming_messages.to_a.map(&:to_h)).to(eq(outgoing_messages.map(&:to_h)))
70
25
  end
71
26
 
72
27
  it "ignores empty lines" do
73
- outgoing_messages = [
74
- Envelope.new(source: Source.new(data: 'Feature: Hello')),
75
- Envelope.new(attachment: Attachment.new(binary: [1,2,3,4].pack('C*')))
76
- ]
77
-
78
28
  io = StringIO.new
79
29
  write_outgoing_messages(outgoing_messages, io)
80
30
  io.write("\n\n")
@@ -82,17 +32,7 @@ module Cucumber
82
32
  io.rewind
83
33
  incoming_messages = NdjsonToMessageEnumerator.new(io)
84
34
 
85
- expect(incoming_messages.to_a).to(eq(outgoing_messages))
86
- end
87
-
88
- it "ignores missing fields" do
89
- io = StringIO.new
90
- io.puts('{"unused": 99}')
91
-
92
- io.rewind
93
- incoming_messages = NdjsonToMessageEnumerator.new(io)
94
-
95
- expect(incoming_messages.to_a).to(eq([Envelope.new]))
35
+ expect(incoming_messages.to_a.map(&:to_h)).to(eq(outgoing_messages.map(&:to_h)))
96
36
  end
97
37
 
98
38
  it "includes offending line in error message" do
@@ -107,7 +47,8 @@ module Cucumber
107
47
 
108
48
  def write_outgoing_messages(messages, out)
109
49
  messages.each do |message|
110
- message.write_ndjson_to(out)
50
+ out.write(message.to_json)
51
+ out.write("\n")
111
52
  end
112
53
  end
113
54
  end
@@ -28,6 +28,14 @@ module Cucumber
28
28
 
29
29
  expect(duration_in_seconds_again).to be_within(0.000000001).of(duration_in_seconds)
30
30
  end
31
+
32
+ it 'converts to a hash where seconds and nanos are integers' do
33
+ duration_in_seconds = 3.000161
34
+ duration = seconds_to_duration(duration_in_seconds)
35
+
36
+ expect(duration['seconds']).to be_integer
37
+ expect(duration['nanos']).to be_integer
38
+ end
31
39
  end
32
40
  end
33
41
  end
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-messages
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.0.0
4
+ version: 17.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-23 00:00:00.000000000 Z
11
+ date: 2021-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: protobuf-cucumber
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.10'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 3.10.8
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.10'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 3.10.8
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: rake
35
15
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +19,7 @@ dependencies:
39
19
  version: '13.0'
40
20
  - - ">="
41
21
  - !ruby/object:Gem::Version
42
- version: 13.0.3
22
+ version: 13.0.6
43
23
  type: :development
44
24
  prerelease: false
45
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +29,7 @@ dependencies:
49
29
  version: '13.0'
50
30
  - - ">="
51
31
  - !ruby/object:Gem::Version
52
- version: 13.0.3
32
+ version: 13.0.6
53
33
  - !ruby/object:Gem::Dependency
54
34
  name: rspec
55
35
  requirement: !ruby/object:Gem::Requirement
@@ -79,19 +59,24 @@ files:
79
59
  - LICENSE
80
60
  - README.md
81
61
  - VERSION
82
- - lib/cucumber/messages.pb.rb
62
+ - lib/cucumber/messages.deserializers.rb
63
+ - lib/cucumber/messages.dtos.rb
83
64
  - lib/cucumber/messages.rb
84
- - lib/cucumber/messages/binary_to_message_enumerator.rb
85
65
  - lib/cucumber/messages/id_generator.rb
66
+ - lib/cucumber/messages/message.rb
67
+ - lib/cucumber/messages/message/deserialization.rb
68
+ - lib/cucumber/messages/message/serialization.rb
69
+ - lib/cucumber/messages/message/utils.rb
86
70
  - lib/cucumber/messages/ndjson_to_message_enumerator.rb
87
- - lib/cucumber/messages/protobuf_delimited.rb
88
- - lib/cucumber/messages/protobuf_ndjson.rb
89
71
  - lib/cucumber/messages/time_conversion.rb
90
- - lib/cucumber/messages/varint.rb
91
72
  - spec/capture_warnings.rb
73
+ - spec/cucumber/messages/acceptance_spec.rb
92
74
  - spec/cucumber/messages/id_generator_spec.rb
75
+ - spec/cucumber/messages/message/deserialization_spec.rb
76
+ - spec/cucumber/messages/message/dummy_messages.rb
77
+ - spec/cucumber/messages/message/serialization_spec.rb
78
+ - spec/cucumber/messages/message/utils_spec.rb
93
79
  - spec/cucumber/messages/ndjson_serialization_spec.rb
94
- - spec/cucumber/messages/protobuf_serialization_spec.rb
95
80
  - spec/cucumber/messages/time_conversion_spec.rb
96
81
  - spec/cucumber/messages/version_spec.rb
97
82
  homepage: https://github.com/cucumber/messages-ruby#readme
@@ -99,10 +84,10 @@ licenses:
99
84
  - MIT
100
85
  metadata:
101
86
  bug_tracker_uri: https://github.com/cucumber/cucumber/issues
102
- changelog_uri: https://github.com/cucumber/cucumber/blob/master/messages/CHANGELOG.md
87
+ changelog_uri: https://github.com/cucumber/common/blob/main/messages/CHANGELOG.md
103
88
  documentation_uri: https://www.rubydoc.info/github/cucumber/messages-ruby
104
89
  mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
105
- source_code_uri: https://github.com/cucumber/cucumber/blob/master/messages/ruby
90
+ source_code_uri: https://github.com/cucumber/common/blob/main/messages/ruby
106
91
  post_install_message:
107
92
  rdoc_options:
108
93
  - "--charset=UTF-8"
@@ -122,11 +107,15 @@ requirements: []
122
107
  rubygems_version: 3.1.2
123
108
  signing_key:
124
109
  specification_version: 4
125
- summary: cucumber-messages-15.0.0
110
+ summary: cucumber-messages-17.0.1
126
111
  test_files:
127
112
  - spec/capture_warnings.rb
128
- - spec/cucumber/messages/protobuf_serialization_spec.rb
113
+ - spec/cucumber/messages/acceptance_spec.rb
114
+ - spec/cucumber/messages/id_generator_spec.rb
115
+ - spec/cucumber/messages/message/deserialization_spec.rb
116
+ - spec/cucumber/messages/message/dummy_messages.rb
117
+ - spec/cucumber/messages/message/serialization_spec.rb
118
+ - spec/cucumber/messages/message/utils_spec.rb
129
119
  - spec/cucumber/messages/ndjson_serialization_spec.rb
130
120
  - spec/cucumber/messages/time_conversion_spec.rb
131
- - spec/cucumber/messages/id_generator_spec.rb
132
121
  - spec/cucumber/messages/version_spec.rb
@@ -1,525 +0,0 @@
1
- # encoding: utf-8
2
-
3
- ##
4
- # This file is auto-generated. DO NOT EDIT!
5
- #
6
- require 'protobuf'
7
-
8
- module Cucumber
9
- module Messages
10
- ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
-
12
- ##
13
- # Message Classes
14
- #
15
- class Envelope < ::Protobuf::Message; end
16
- class Meta < ::Protobuf::Message
17
- class Product < ::Protobuf::Message; end
18
- class CI < ::Protobuf::Message
19
- class Git < ::Protobuf::Message; end
20
-
21
- end
22
-
23
-
24
- end
25
-
26
- class Timestamp < ::Protobuf::Message; end
27
- class Duration < ::Protobuf::Message; end
28
- class Location < ::Protobuf::Message; end
29
- class SourceReference < ::Protobuf::Message
30
- class JavaMethod < ::Protobuf::Message; end
31
- class JavaStackTraceElement < ::Protobuf::Message; end
32
-
33
- end
34
-
35
- class Source < ::Protobuf::Message; end
36
- class GherkinDocument < ::Protobuf::Message
37
- class Comment < ::Protobuf::Message; end
38
- class Feature < ::Protobuf::Message
39
- class Tag < ::Protobuf::Message; end
40
- class FeatureChild < ::Protobuf::Message
41
- class Rule < ::Protobuf::Message; end
42
- class RuleChild < ::Protobuf::Message; end
43
-
44
- end
45
-
46
- class Background < ::Protobuf::Message; end
47
- class Scenario < ::Protobuf::Message
48
- class Examples < ::Protobuf::Message; end
49
-
50
- end
51
-
52
- class TableRow < ::Protobuf::Message
53
- class TableCell < ::Protobuf::Message; end
54
-
55
- end
56
-
57
- class Step < ::Protobuf::Message
58
- class DataTable < ::Protobuf::Message; end
59
- class DocString < ::Protobuf::Message; end
60
-
61
- end
62
-
63
-
64
- end
65
-
66
-
67
- end
68
-
69
- class Attachment < ::Protobuf::Message
70
- class ContentEncoding < ::Protobuf::Enum
71
- define :IDENTITY, 0
72
- define :BASE64, 1
73
- end
74
-
75
- end
76
-
77
- class Pickle < ::Protobuf::Message
78
- class PickleTag < ::Protobuf::Message; end
79
- class PickleStep < ::Protobuf::Message; end
80
-
81
- end
82
-
83
- class PickleStepArgument < ::Protobuf::Message
84
- class PickleDocString < ::Protobuf::Message; end
85
- class PickleTable < ::Protobuf::Message
86
- class PickleTableRow < ::Protobuf::Message
87
- class PickleTableCell < ::Protobuf::Message; end
88
-
89
- end
90
-
91
-
92
- end
93
-
94
-
95
- end
96
-
97
- class TestCase < ::Protobuf::Message
98
- class TestStep < ::Protobuf::Message
99
- class StepMatchArgumentsList < ::Protobuf::Message
100
- class StepMatchArgument < ::Protobuf::Message
101
- class Group < ::Protobuf::Message; end
102
-
103
- end
104
-
105
-
106
- end
107
-
108
-
109
- end
110
-
111
-
112
- end
113
-
114
- class TestRunStarted < ::Protobuf::Message; end
115
- class TestCaseStarted < ::Protobuf::Message; end
116
- class TestCaseFinished < ::Protobuf::Message; end
117
- class TestStepStarted < ::Protobuf::Message; end
118
- class TestStepFinished < ::Protobuf::Message
119
- class TestStepResult < ::Protobuf::Message
120
- class Status < ::Protobuf::Enum
121
- define :UNKNOWN, 0
122
- define :PASSED, 1
123
- define :SKIPPED, 2
124
- define :PENDING, 3
125
- define :UNDEFINED, 4
126
- define :AMBIGUOUS, 5
127
- define :FAILED, 6
128
- end
129
-
130
- end
131
-
132
-
133
- end
134
-
135
- class TestRunFinished < ::Protobuf::Message; end
136
- class Hook < ::Protobuf::Message; end
137
- class StepDefinition < ::Protobuf::Message
138
- class StepDefinitionPattern < ::Protobuf::Message
139
- class StepDefinitionPatternType < ::Protobuf::Enum
140
- define :CUCUMBER_EXPRESSION, 0
141
- define :REGULAR_EXPRESSION, 1
142
- end
143
-
144
- end
145
-
146
-
147
- end
148
-
149
- class ParameterType < ::Protobuf::Message; end
150
- class UndefinedParameterType < ::Protobuf::Message; end
151
- class ParseError < ::Protobuf::Message; end
152
-
153
-
154
- ##
155
- # File Options
156
- #
157
- set_option :go_package, "messages"
158
-
159
-
160
- ##
161
- # Message Fields
162
- #
163
- class Envelope
164
- optional ::Cucumber::Messages::Source, :source, 1
165
- optional ::Cucumber::Messages::GherkinDocument, :gherkin_document, 2
166
- optional ::Cucumber::Messages::Pickle, :pickle, 3
167
- optional ::Cucumber::Messages::StepDefinition, :step_definition, 4
168
- optional ::Cucumber::Messages::Hook, :hook, 5
169
- optional ::Cucumber::Messages::ParameterType, :parameter_type, 6
170
- optional ::Cucumber::Messages::TestCase, :test_case, 7
171
- optional ::Cucumber::Messages::UndefinedParameterType, :undefined_parameter_type, 8
172
- optional ::Cucumber::Messages::TestRunStarted, :test_run_started, 9
173
- optional ::Cucumber::Messages::TestCaseStarted, :test_case_started, 10
174
- optional ::Cucumber::Messages::TestStepStarted, :test_step_started, 11
175
- optional ::Cucumber::Messages::Attachment, :attachment, 12
176
- optional ::Cucumber::Messages::TestStepFinished, :test_step_finished, 13
177
- optional ::Cucumber::Messages::TestCaseFinished, :test_case_finished, 14
178
- optional ::Cucumber::Messages::TestRunFinished, :test_run_finished, 15
179
- optional ::Cucumber::Messages::ParseError, :parse_error, 16
180
- optional ::Cucumber::Messages::Meta, :meta, 17
181
- end
182
-
183
- class Meta
184
- class Product
185
- optional :string, :name, 1
186
- optional :string, :version, 2
187
- end
188
-
189
- class CI
190
- class Git
191
- optional :string, :remote, 1
192
- optional :string, :revision, 2
193
- optional :string, :branch, 3
194
- optional :string, :tag, 4
195
- end
196
-
197
- optional :string, :name, 1
198
- optional :string, :url, 2
199
- optional ::Cucumber::Messages::Meta::CI::Git, :git, 3
200
- end
201
-
202
- optional :string, :protocol_version, 1
203
- optional ::Cucumber::Messages::Meta::Product, :implementation, 2
204
- optional ::Cucumber::Messages::Meta::Product, :runtime, 3
205
- optional ::Cucumber::Messages::Meta::Product, :os, 4
206
- optional ::Cucumber::Messages::Meta::Product, :cpu, 5
207
- optional ::Cucumber::Messages::Meta::CI, :ci, 6
208
- end
209
-
210
- class Timestamp
211
- optional :int64, :seconds, 1
212
- optional :int32, :nanos, 2
213
- end
214
-
215
- class Duration
216
- optional :int64, :seconds, 1
217
- optional :int32, :nanos, 2
218
- end
219
-
220
- class Location
221
- optional :uint32, :line, 1
222
- optional :uint32, :column, 2
223
- end
224
-
225
- class SourceReference
226
- class JavaMethod
227
- optional :string, :class_name, 1
228
- optional :string, :method_name, 2
229
- repeated :string, :method_parameter_types, 3
230
- end
231
-
232
- class JavaStackTraceElement
233
- optional :string, :class_name, 1
234
- optional :string, :method_name, 2
235
- optional :string, :file_name, 3
236
- end
237
-
238
- optional :string, :uri, 1
239
- optional ::Cucumber::Messages::SourceReference::JavaMethod, :java_method, 3
240
- optional ::Cucumber::Messages::SourceReference::JavaStackTraceElement, :java_stack_trace_element, 4
241
- optional ::Cucumber::Messages::Location, :location, 2
242
- end
243
-
244
- class Source
245
- optional :string, :uri, 1
246
- optional :string, :data, 2
247
- optional :string, :media_type, 3
248
- end
249
-
250
- class GherkinDocument
251
- class Comment
252
- optional ::Cucumber::Messages::Location, :location, 1
253
- optional :string, :text, 2
254
- end
255
-
256
- class Feature
257
- class Tag
258
- optional ::Cucumber::Messages::Location, :location, 1
259
- optional :string, :name, 2
260
- optional :string, :id, 3
261
- end
262
-
263
- class FeatureChild
264
- class Rule
265
- optional ::Cucumber::Messages::Location, :location, 1
266
- optional :string, :keyword, 2
267
- optional :string, :name, 3
268
- optional :string, :description, 4
269
- repeated ::Cucumber::Messages::GherkinDocument::Feature::FeatureChild::RuleChild, :children, 5
270
- optional :string, :id, 6
271
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Tag, :tags, 7
272
- end
273
-
274
- class RuleChild
275
- optional ::Cucumber::Messages::GherkinDocument::Feature::Background, :background, 1
276
- optional ::Cucumber::Messages::GherkinDocument::Feature::Scenario, :scenario, 2
277
- end
278
-
279
- optional ::Cucumber::Messages::GherkinDocument::Feature::FeatureChild::Rule, :rule, 1
280
- optional ::Cucumber::Messages::GherkinDocument::Feature::Background, :background, 2
281
- optional ::Cucumber::Messages::GherkinDocument::Feature::Scenario, :scenario, 3
282
- end
283
-
284
- class Background
285
- optional ::Cucumber::Messages::Location, :location, 1
286
- optional :string, :keyword, 2
287
- optional :string, :name, 3
288
- optional :string, :description, 4
289
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Step, :steps, 5
290
- optional :string, :id, 6
291
- end
292
-
293
- class Scenario
294
- class Examples
295
- optional ::Cucumber::Messages::Location, :location, 1
296
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Tag, :tags, 2
297
- optional :string, :keyword, 3
298
- optional :string, :name, 4
299
- optional :string, :description, 5
300
- optional ::Cucumber::Messages::GherkinDocument::Feature::TableRow, :table_header, 6
301
- repeated ::Cucumber::Messages::GherkinDocument::Feature::TableRow, :table_body, 7
302
- optional :string, :id, 8
303
- end
304
-
305
- optional ::Cucumber::Messages::Location, :location, 1
306
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Tag, :tags, 2
307
- optional :string, :keyword, 3
308
- optional :string, :name, 4
309
- optional :string, :description, 5
310
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Step, :steps, 6
311
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Scenario::Examples, :examples, 7
312
- optional :string, :id, 8
313
- end
314
-
315
- class TableRow
316
- class TableCell
317
- optional ::Cucumber::Messages::Location, :location, 1
318
- optional :string, :value, 2
319
- end
320
-
321
- optional ::Cucumber::Messages::Location, :location, 1
322
- repeated ::Cucumber::Messages::GherkinDocument::Feature::TableRow::TableCell, :cells, 2
323
- optional :string, :id, 3
324
- end
325
-
326
- class Step
327
- class DataTable
328
- optional ::Cucumber::Messages::Location, :location, 1
329
- repeated ::Cucumber::Messages::GherkinDocument::Feature::TableRow, :rows, 2
330
- end
331
-
332
- class DocString
333
- optional ::Cucumber::Messages::Location, :location, 1
334
- optional :string, :media_type, 2
335
- optional :string, :content, 3
336
- optional :string, :delimiter, 4
337
- end
338
-
339
- optional ::Cucumber::Messages::Location, :location, 1
340
- optional :string, :keyword, 2
341
- optional :string, :text, 3
342
- optional ::Cucumber::Messages::GherkinDocument::Feature::Step::DocString, :doc_string, 4
343
- optional ::Cucumber::Messages::GherkinDocument::Feature::Step::DataTable, :data_table, 5
344
- optional :string, :id, 6
345
- end
346
-
347
- optional ::Cucumber::Messages::Location, :location, 1
348
- repeated ::Cucumber::Messages::GherkinDocument::Feature::Tag, :tags, 2
349
- optional :string, :language, 3
350
- optional :string, :keyword, 4
351
- optional :string, :name, 5
352
- optional :string, :description, 6
353
- repeated ::Cucumber::Messages::GherkinDocument::Feature::FeatureChild, :children, 7
354
- end
355
-
356
- optional :string, :uri, 1
357
- optional ::Cucumber::Messages::GherkinDocument::Feature, :feature, 2
358
- repeated ::Cucumber::Messages::GherkinDocument::Comment, :comments, 3
359
- end
360
-
361
- class Attachment
362
- optional ::Cucumber::Messages::SourceReference, :source, 1
363
- optional :string, :test_step_id, 2
364
- optional :string, :test_case_started_id, 3
365
- optional :string, :body, 4
366
- optional :string, :media_type, 5
367
- optional ::Cucumber::Messages::Attachment::ContentEncoding, :content_encoding, 6
368
- optional :string, :file_name, 7
369
- optional :string, :url, 8
370
- end
371
-
372
- class Pickle
373
- class PickleTag
374
- optional :string, :name, 1
375
- optional :string, :ast_node_id, 2
376
- end
377
-
378
- class PickleStep
379
- optional :string, :text, 1
380
- optional ::Cucumber::Messages::PickleStepArgument, :argument, 2
381
- optional :string, :id, 3
382
- repeated :string, :ast_node_ids, 4
383
- end
384
-
385
- optional :string, :id, 1
386
- optional :string, :uri, 2
387
- optional :string, :name, 3
388
- optional :string, :language, 4
389
- repeated ::Cucumber::Messages::Pickle::PickleStep, :steps, 5
390
- repeated ::Cucumber::Messages::Pickle::PickleTag, :tags, 6
391
- repeated :string, :ast_node_ids, 7
392
- end
393
-
394
- class PickleStepArgument
395
- class PickleDocString
396
- optional :string, :media_type, 1
397
- optional :string, :content, 2
398
- end
399
-
400
- class PickleTable
401
- class PickleTableRow
402
- class PickleTableCell
403
- optional :string, :value, 1
404
- end
405
-
406
- repeated ::Cucumber::Messages::PickleStepArgument::PickleTable::PickleTableRow::PickleTableCell, :cells, 1
407
- end
408
-
409
- repeated ::Cucumber::Messages::PickleStepArgument::PickleTable::PickleTableRow, :rows, 1
410
- end
411
-
412
- optional ::Cucumber::Messages::PickleStepArgument::PickleDocString, :doc_string, 1
413
- optional ::Cucumber::Messages::PickleStepArgument::PickleTable, :data_table, 2
414
- end
415
-
416
- class TestCase
417
- class TestStep
418
- class StepMatchArgumentsList
419
- class StepMatchArgument
420
- class Group
421
- optional :uint32, :start, 1
422
- optional :string, :value, 2
423
- repeated ::Cucumber::Messages::TestCase::TestStep::StepMatchArgumentsList::StepMatchArgument::Group, :children, 3
424
- end
425
-
426
- optional :string, :parameter_type_name, 1
427
- optional ::Cucumber::Messages::TestCase::TestStep::StepMatchArgumentsList::StepMatchArgument::Group, :group, 2
428
- end
429
-
430
- repeated ::Cucumber::Messages::TestCase::TestStep::StepMatchArgumentsList::StepMatchArgument, :step_match_arguments, 1
431
- end
432
-
433
- optional :string, :id, 1
434
- optional :string, :pickle_step_id, 2
435
- repeated :string, :step_definition_ids, 3
436
- repeated ::Cucumber::Messages::TestCase::TestStep::StepMatchArgumentsList, :step_match_arguments_lists, 4
437
- optional :string, :hook_id, 5
438
- end
439
-
440
- optional :string, :id, 1
441
- optional :string, :pickle_id, 2
442
- repeated ::Cucumber::Messages::TestCase::TestStep, :test_steps, 3
443
- end
444
-
445
- class TestRunStarted
446
- optional ::Cucumber::Messages::Timestamp, :timestamp, 1
447
- end
448
-
449
- class TestCaseStarted
450
- optional ::Cucumber::Messages::Timestamp, :timestamp, 1
451
- optional :uint32, :attempt, 3
452
- optional :string, :test_case_id, 4
453
- optional :string, :id, 5
454
- end
455
-
456
- class TestCaseFinished
457
- optional ::Cucumber::Messages::Timestamp, :timestamp, 1
458
- optional :string, :test_case_started_id, 3
459
- end
460
-
461
- class TestStepStarted
462
- optional ::Cucumber::Messages::Timestamp, :timestamp, 1
463
- optional :string, :test_step_id, 2
464
- optional :string, :test_case_started_id, 3
465
- end
466
-
467
- class TestStepFinished
468
- class TestStepResult
469
- optional ::Cucumber::Messages::TestStepFinished::TestStepResult::Status, :status, 1
470
- optional :string, :message, 2
471
- optional ::Cucumber::Messages::Duration, :duration, 3
472
- optional :bool, :will_be_retried, 4
473
- end
474
-
475
- optional ::Cucumber::Messages::TestStepFinished::TestStepResult, :test_step_result, 1
476
- optional ::Cucumber::Messages::Timestamp, :timestamp, 2
477
- optional :string, :test_step_id, 3
478
- optional :string, :test_case_started_id, 4
479
- end
480
-
481
- class TestRunFinished
482
- optional :bool, :success, 1
483
- optional ::Cucumber::Messages::Timestamp, :timestamp, 2
484
- optional :string, :message, 3
485
- end
486
-
487
- class Hook
488
- optional :string, :id, 1
489
- optional :string, :tag_expression, 2
490
- optional ::Cucumber::Messages::SourceReference, :source_reference, 3
491
- end
492
-
493
- class StepDefinition
494
- class StepDefinitionPattern
495
- optional :string, :source, 1
496
- optional ::Cucumber::Messages::StepDefinition::StepDefinitionPattern::StepDefinitionPatternType, :type, 2
497
- end
498
-
499
- optional :string, :id, 1
500
- optional ::Cucumber::Messages::StepDefinition::StepDefinitionPattern, :pattern, 2
501
- optional ::Cucumber::Messages::SourceReference, :source_reference, 3
502
- end
503
-
504
- class ParameterType
505
- optional :string, :name, 1
506
- repeated :string, :regular_expressions, 2
507
- optional :bool, :prefer_for_regular_expression_match, 3
508
- optional :bool, :use_for_snippets, 4
509
- optional :string, :id, 5
510
- end
511
-
512
- class UndefinedParameterType
513
- optional :string, :name, 1
514
- optional :string, :expression, 2
515
- end
516
-
517
- class ParseError
518
- optional ::Cucumber::Messages::SourceReference, :source, 1
519
- optional :string, :message, 2
520
- end
521
-
522
- end
523
-
524
- end
525
-