cucumber-messages 12.4.0 → 13.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 443941d78b852c1f1b2972dd1e2f3fd38a7c899282e93c1d8d02e42f1866ed30
4
- data.tar.gz: 53be902b36e5f78ffd708e7c51e2ee11b4539466ac6374d8c2edf575cfa51894
3
+ metadata.gz: 6fbd2a2fcaa7e4afd1eb56bece2ee4907661049c0ed7ca5eade53335595b625a
4
+ data.tar.gz: 95fe3cf9d70ae3ac95a9eb00e6936c40eef40864fa034f87394f29ed8ae7f5e8
5
5
  SHA512:
6
- metadata.gz: b62aade5572e6a5287c6ee693f4904472f510ca73bde0dd5b6daa1e762415826656b03adbd639d4ea181e52704ee6fbaec36bbeffbf90c90bf87795261e48092
7
- data.tar.gz: c2e20522d03e515bf774729f798dc8ccb2a3dc18effd73131f16b4c8f22890d6c96a9aa61fab3ff95384af13064bd48d6ebef2d15c7c4a8920fc8ce9f538a9ee
6
+ metadata.gz: 4a679068f177a07425a8311880185f66036f80eadb07de274d1c4c59e467e4142a852403602f281792755f268f30721142705ac9219b4b9d0c4794b43a1db7a7
7
+ data.tar.gz: dfd3d4af835c4f4cdbf72ac01facb0972a06ef7d401b1bb06c638967f914a84afbe13f2ff3e116a6248e88b23c16d80027c79e16642d2dad5aba37fadbde7f88
data/VERSION CHANGED
@@ -1 +1 @@
1
- 12.4.0
1
+ 13.2.1
@@ -26,9 +26,12 @@ module Cucumber
26
26
  class Timestamp < ::Protobuf::Message; end
27
27
  class Duration < ::Protobuf::Message; end
28
28
  class Location < ::Protobuf::Message; end
29
- class SourceReference < ::Protobuf::Message; end
30
- class JavaMethod < ::Protobuf::Message; end
31
- class JavaStackTraceElement < ::Protobuf::Message; end
29
+ class SourceReference < ::Protobuf::Message
30
+ class JavaMethod < ::Protobuf::Message; end
31
+ class JavaStackTraceElement < ::Protobuf::Message; end
32
+
33
+ end
34
+
32
35
  class Source < ::Protobuf::Message; end
33
36
  class GherkinDocument < ::Protobuf::Message
34
37
  class Comment < ::Protobuf::Message; end
@@ -220,22 +223,22 @@ module Cucumber
220
223
  end
221
224
 
222
225
  class SourceReference
223
- optional :string, :uri, 1
224
- optional ::Cucumber::Messages::JavaMethod, :java_method, 3
225
- optional ::Cucumber::Messages::JavaStackTraceElement, :java_stack_trace_element, 4
226
- optional ::Cucumber::Messages::Location, :location, 2
227
- end
226
+ class JavaMethod
227
+ optional :string, :class_name, 1
228
+ optional :string, :method_name, 2
229
+ repeated :string, :method_parameter_types, 3
230
+ end
228
231
 
229
- class JavaMethod
230
- optional :string, :class_name, 1
231
- optional :string, :method_name, 2
232
- repeated :string, :method_parameter_types, 3
233
- end
232
+ class JavaStackTraceElement
233
+ optional :string, :class_name, 1
234
+ optional :string, :method_name, 2
235
+ optional :string, :file_name, 3
236
+ end
234
237
 
235
- class JavaStackTraceElement
236
- optional :string, :class_name, 1
237
- optional :string, :method_name, 2
238
- optional :string, :file_name, 3
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
239
242
  end
240
243
 
241
244
  class Source
@@ -362,6 +365,7 @@ module Cucumber
362
365
  optional :string, :media_type, 5
363
366
  optional ::Cucumber::Messages::Attachment::ContentEncoding, :content_encoding, 6
364
367
  optional :string, :file_name, 7
368
+ optional :string, :url, 8
365
369
  end
366
370
 
367
371
  class Pickle
@@ -5,8 +5,13 @@ module Cucumber
5
5
  class NdjsonToMessageEnumerator < Enumerator
6
6
  def initialize(io)
7
7
  super() do |yielder|
8
- io.each_line do |json|
9
- m = Cucumber::Messages::Envelope.from_json(json)
8
+ io.each_line do |line|
9
+ next if line.strip.empty?
10
+ begin
11
+ m = Cucumber::Messages::Envelope.from_json(line)
12
+ rescue => e
13
+ raise "Not JSON: #{line.strip}"
14
+ end
10
15
  yielder.yield(m)
11
16
  end
12
17
  end
@@ -69,6 +69,22 @@ module Cucumber
69
69
  expect(incoming_messages.to_a).to(eq(outgoing_messages))
70
70
  end
71
71
 
72
+ 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
+ io = StringIO.new
79
+ write_outgoing_messages(outgoing_messages, io)
80
+ io.write("\n\n")
81
+
82
+ io.rewind
83
+ incoming_messages = NdjsonToMessageEnumerator.new(io)
84
+
85
+ expect(incoming_messages.to_a).to(eq(outgoing_messages))
86
+ end
87
+
72
88
  it "ignores missing fields" do
73
89
  io = StringIO.new
74
90
  io.puts('{"unused": 99}')
@@ -79,6 +95,16 @@ module Cucumber
79
95
  expect(incoming_messages.to_a).to(eq([Envelope.new]))
80
96
  end
81
97
 
98
+ it "includes offending line in error message" do
99
+ io = StringIO.new
100
+ io.puts('BLA BLA')
101
+
102
+ io.rewind
103
+ incoming_messages = NdjsonToMessageEnumerator.new(io)
104
+
105
+ expect { incoming_messages.to_a }.to(raise_error('Not JSON: BLA BLA'))
106
+ end
107
+
82
108
  def write_outgoing_messages(messages, out)
83
109
  messages.each do |message|
84
110
  message.write_ndjson_to(out)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-messages
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.4.0
4
+ version: 13.2.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: 2020-07-31 00:00:00.000000000 Z
11
+ date: 2020-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: protobuf-cucumber
@@ -56,20 +56,20 @@ dependencies:
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '3.9'
59
+ version: '3.10'
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 3.9.0
62
+ version: 3.10.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '3.9'
69
+ version: '3.10'
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 3.9.0
72
+ version: 3.10.0
73
73
  description: Protocol Buffer messages for Cucumber's inter-process communication
74
74
  email: cukes@googlegroups.com
75
75
  executables: []
@@ -122,11 +122,11 @@ requirements: []
122
122
  rubygems_version: 3.1.2
123
123
  signing_key:
124
124
  specification_version: 4
125
- summary: cucumber-messages-12.4.0
125
+ summary: cucumber-messages-13.2.1
126
126
  test_files:
127
127
  - spec/capture_warnings.rb
128
- - spec/cucumber/messages/time_conversion_spec.rb
129
128
  - spec/cucumber/messages/id_generator_spec.rb
130
129
  - spec/cucumber/messages/ndjson_serialization_spec.rb
131
- - spec/cucumber/messages/version_spec.rb
132
130
  - spec/cucumber/messages/protobuf_serialization_spec.rb
131
+ - spec/cucumber/messages/time_conversion_spec.rb
132
+ - spec/cucumber/messages/version_spec.rb