match_json 0.0.3 → 0.0.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
  SHA1:
3
- metadata.gz: 005f03dc031dae5d502f69503f85806359fa367c
4
- data.tar.gz: b33916e309c19ee5ede6669e63ed52a0ce4c547f
3
+ metadata.gz: 57bf78ba08a2206400b474522a4e5945ec306e9b
4
+ data.tar.gz: aa7e17daa7bab8fc1fd61e51fa694b67c3714ed2
5
5
  SHA512:
6
- metadata.gz: 58977d8ce3fee1b6328d7352eb8cf45ec4eaf81fce69037c7f6bb8c4904e45f9c9f63fd592c7708eeb1b3fcfa8394b1d094f5bab2416560d025cc11a9a3ea687
7
- data.tar.gz: e89ed23d86d5add55db0011e940aeae6c6bfe33c7eac7cc60139bcbe6710bcb8205aa7351d014263760fb65c21644d6e28a16c31f52cc19e3e4806676672395a
6
+ metadata.gz: d759631412ea874063e35261a050b3652a0898b28c372a1f4669d266b852bbdca589384a87c5a66a8813b6304707a47a37aa40f09a773a0879af169748adaa96
7
+ data.tar.gz: 6c7fb7d11597b029a64b42e15b474b6281acb9c7e33b990bfe771f5ef45c146894ffe1cd3f9778f81672dfffe51569c5eee9bbcedb46cfbaeea984c0d658c4dc
@@ -35,6 +35,11 @@ module MatchJson
35
35
  end
36
36
 
37
37
  def hash_included?(actual, expected, nested, raise_error)
38
+ if compared_different_types?(actual, expected)
39
+ @failure_message = %Q(Different types of compared elements:\n #{actual.class} for #{actual}\nand #{expected.class} for #{expected})
40
+ throw(:match, false)
41
+ end
42
+
38
43
  expected.each do |key, value|
39
44
  if (!equal_value?(actual[key], value, "#{nested} > #{key}", raise_error))
40
45
  @failure_message = %Q("#{key}"=>#{value} was not found in\n #{actual})
@@ -93,6 +98,10 @@ module MatchJson
93
98
  def regexp?(str)
94
99
  !!(str =~ /\A\{re:.+\}\z/)
95
100
  end
101
+
102
+ def compared_different_types?(actual, expected)
103
+ actual.class != expected.class
104
+ end
96
105
  end
97
106
  end
98
107
  end
@@ -1,3 +1,3 @@
1
1
  module MatchJson
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "rspec"
21
+ spec.add_dependency "rspec", ">= 3.0", "< 4.0"
22
22
  spec.add_development_dependency "bundler", "~> 1.7"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  end
@@ -54,6 +54,14 @@ describe "include_json" do
54
54
  end
55
55
  end
56
56
 
57
+ context 'when ckeck for inclusion of different types' do
58
+ it 'fails with clean message' do
59
+ expect {
60
+ expect(%Q([ { "one": 1 } ])).to include_json(%Q({ "one": 1 }))
61
+ }.to fail_with(%Q(Different types of compared elements:\n Array for [{"one"=>1}]\nand Hash for {"one"=>1}))
62
+ end
63
+ end
64
+
57
65
  context 'with pattern' do
58
66
  it 'passes when value matches pattern' do
59
67
  expect(%Q({"one": "test@exmaple.com"})).to include_json(%Q({"one": "{email}"}))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: match_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Gabriel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-27 00:00:00.000000000 Z
12
+ date: 2015-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -17,14 +17,20 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '3.0'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '4.0'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
- version: '0'
30
+ version: '3.0'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: bundler
30
36
  requirement: !ruby/object:Gem::Requirement