structure_compare 0.1.4 → 0.1.5

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
  SHA1:
3
- metadata.gz: 3f2e2820a623f8736e70f56a9be77e4058d2d92e
4
- data.tar.gz: 45dc459fd60189528bdc3a101ba669040e905670
3
+ metadata.gz: 6ccf54b4f42263485c1a93a50989e69b82d40e91
4
+ data.tar.gz: a0a85c991d901feb6fdfae988df7e48c07d628d6
5
5
  SHA512:
6
- metadata.gz: f79e4d739d1ac39ad71bae9d0cce84ec53c0ea26c2441221f5ecbfd5e1504ba52fbbbe090fcb3a46bd318da21748688a6d6d4ce0a8f0df8d32bf2a8fb6156251
7
- data.tar.gz: d1d6c84c7a1f1a15ea54ec65ea66572d2897475ba0a6a93c33d217c0f68e24596a446aa6d8fe5a62c9a3678eb8dd731edadcf04756355cab3e348bed2eca7fe6
6
+ metadata.gz: c1d25d9ddf2945090a8b9cb534e63dce989e241199e72145a8caf374fab5325afc4afab9c7acdd05fe88cd4af187d4f6a358ad728ed082b75348a96c2241a79d
7
+ data.tar.gz: f2ef2e68269c3f9a9555214189d98e25e849d2e7db6ecf706daa80ae5999d3f5dc42df529d80b4956c71f53499c55e47756e89b23e0d5f83335c4e5e48a29433
@@ -68,7 +68,7 @@ module StructureCompare
68
68
  actual_value = actual[key]
69
69
  end
70
70
 
71
- path_segment = key.is_a?(Symbol) ? "[:#{key}]" : "[\"#{key}\"]"
71
+ path_segment = "[#{dump_key(key)}]"
72
72
  @path.push(path_segment)
73
73
 
74
74
  check_structures_equal!(expected_value, actual_value)
@@ -82,8 +82,7 @@ module StructureCompare
82
82
  actual_keys = actual.keys
83
83
 
84
84
  failure_message = "hash keys aren't equal. " \
85
- "expected: #{expected_keys.map(&:to_s).join(',')}, " \
86
- "actual: #{actual_keys.map(&:to_s).join(',')}"
85
+ "expected: #{dump_keys(expected_keys)}, actual: #{dump_keys(actual_keys)}"
87
86
 
88
87
  if @options[:indifferent_access]
89
88
  # NOTE: not all hash keys are symbols/strings, only convert symbols
@@ -165,5 +164,14 @@ module StructureCompare
165
164
  "can not use indifferent_access option!"
166
165
  )
167
166
  end
167
+
168
+ def dump_keys(keys)
169
+ key_names = keys.map { |key| dump_key(key) }
170
+ "[#{key_names.join(', ')}]"
171
+ end
172
+
173
+ def dump_key(key)
174
+ key.is_a?(Symbol) ? ":#{key}" : "\"#{key}\""
175
+ end
168
176
  end
169
177
  end
@@ -1,3 +1,3 @@
1
1
  module StructureCompare
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -9,7 +9,8 @@ class StructureCompareTest < MiniTest::Test
9
9
 
10
10
  def test_compares_keys_of_hashes
11
11
  refute_structures_equal({a: 1, b: 2}, {a: 1, other_key: 2})
12
- refute_structures_equal({a: 1, b: 2}, {a: 1, b: 2, c: 3})
12
+ refute_structures_equal({a: 1, b: 2}, {a: 1, b: 2, "c" => 3})
13
+ refute_structures_equal({a: 1, b: 2, "c" => 3}, {a: 1, b: 2})
13
14
  end
14
15
 
15
16
  def test_hash_key_order_is_compared_if_option_set
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structure_compare
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Seeger