rspec-protobuf 0.2.2 → 0.2.4

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.
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