rspec-protobuf 0.2.2 → 0.2.4

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: 9715606ee55a551b67daf4f76770e03e02c39235df6391dabcfb4e652f66573b
4
- data.tar.gz: d94dc7b32595629de99af8174117019af34916e3be13b8ac7c341c3ad1379462
3
+ metadata.gz: d635dd29059d952dc1e0db41c3cef03aa4d9e18f098db7a61f34736821317831
4
+ data.tar.gz: db9151a95b2f9d72898eaa5fedaa2b9ecbf0dd1d4bf5cb16506442f7cfcbba88
5
5
  SHA512:
6
- metadata.gz: 3e20abb11a4f1f56bde4fcc953d492d57b79cb434696a0a4c7923fb818a7c021ef26a5b058b2af8df13bf2a6256518559e21b78f334d7db0073adb84317531bc
7
- data.tar.gz: 170d177431f45d5e0e5584ac775f2480aa3975e64aaaf626248d2e4dd80f7eb22feaa3aed7a9a3159b176a23b573a53f31f168045487a669a8831c8e0ab65314
6
+ metadata.gz: 55abd020cfdbf915a4b6db65e674367333957e59ff86a0dab804d4807dad3e0d4e250c20b5a2043fc76ac88931293206719720e1844563125a46e56224705a33
7
+ data.tar.gz: a485ad9cfd09055229c816f83baa2105659c3e50ebc5b3a053de6ec758c3bdd854969c606efc681a2f1cfda80821129efb7448cbe64d2bfd828e62ed54cf890b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ### v0.2.4 (2023-03-15)
2
+ - repeated field bug
3
+
4
+ ### v0.2.3 (2023-03-14)
5
+ - repeated fields
6
+
1
7
  ### v0.2.2 (2022-12-15)
2
8
  - dependabot and lockfile
3
9
  - simplify dependencies
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-protobuf (0.2.1)
4
+ rspec-protobuf (0.2.4)
5
5
  google-protobuf (>= 3)
6
6
  rspec-expectations (>= 3)
7
7
 
@@ -13,7 +13,7 @@ GEM
13
13
  simplecov (>= 0.15, < 0.22)
14
14
  diff-lcs (1.5.0)
15
15
  docile (1.4.0)
16
- google-protobuf (3.21.12)
16
+ google-protobuf (3.22.2)
17
17
  rspec (3.12.0)
18
18
  rspec-core (~> 3.12.0)
19
19
  rspec-expectations (~> 3.12.0)
@@ -50,8 +50,10 @@ module RSpec
50
50
  if actual_value.is_a?(Google::Protobuf::MessageExts) && expected_value.is_a?(Hash)
51
51
  actual_value.match?(**expected_value)
52
52
  else
53
- # fall back to default value
54
- expected_value = field.default unless attrs.key?(field.name.to_sym)
53
+ unless attrs.key?(field.name.to_sym)
54
+ # fall back to default value
55
+ expected_value = field.label == :repeated ? [] : field.default
56
+ end
55
57
 
56
58
  # convert enum to int value to match input type
57
59
  if field.type == :enum && expected_value.is_a?(Integer)
@@ -74,7 +76,8 @@ module RSpec
74
76
  value = value.normalized_hash
75
77
  end
76
78
 
77
- res[field.name.to_sym] = value unless field.default == value
79
+ default = field.label == :repeated ? [] : field.default
80
+ res[field.name.to_sym] = value unless default == value
78
81
  end
79
82
 
80
83
  res
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  module Protobuf
3
- VERSION = "0.2.2"
3
+ VERSION = "0.2.4"
4
4
  end
5
5
  end
@@ -34,7 +34,9 @@ RSpec::Matchers.define :be_a_protobuf do |type = nil, **attrs|
34
34
 
35
35
  # customize differ output by removing unreferenced and default attrs
36
36
  @actual = actual.normalized_hash.slice(*attrs.keys).reject do |k, v|
37
- v == actual.class.descriptor.lookup(k.to_s).default
37
+ field = actual.class.descriptor.lookup(k.to_s)
38
+ default = field.label == :repeated ? [] : field.default
39
+ v == default
38
40
  end
39
41
 
40
42
  actual.include?(attrs)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Pepper
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-15 00:00:00.000000000 Z
11
+ date: 2023-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf