File tree 3 files changed +26
-0
lines changed
3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ group :development do
11
11
gem 'ci_reporter_rspec' , '1.0.0'
12
12
gem 'pry'
13
13
gem 'pry-byebug'
14
+ gem 'hashdiff'
14
15
gem 'rake' , '10.1.0'
15
16
gem 'syck' if RUBY_VERSION . split ( '.' ) . first . to_i > 1
16
17
end
Original file line number Diff line number Diff line change 30
30
CFPropertyList (~> 2.2 )
31
31
git (1.7.0 )
32
32
rchardet (~> 1.8 )
33
+ hashdiff (1.0.1 )
33
34
hiera (1.3.4 )
34
35
json_pure
35
36
json (2.3.0 )
@@ -88,6 +89,7 @@ PLATFORMS
88
89
DEPENDENCIES
89
90
ci_reporter_rspec (= 1.0.0 )
90
91
collimator (= 0.0.3 )
92
+ hashdiff
91
93
mcollective-client (= 2.8.2 )
92
94
orc !
93
95
pry
Original file line number Diff line number Diff line change
1
+ require 'hashdiff'
2
+
3
+ RSpec ::Matchers . define :hash_eq do |expected |
4
+ match do |actual |
5
+ expect ( expected ) . to eq ( actual )
6
+ end
7
+ failure_message do |actual |
8
+ diff = Hashdiff . diff ( expected , actual )
9
+ message = "Expected hashes to be identical, diff is:"
10
+ diff . each do |change |
11
+ message << "\n "
12
+ case change [ 0 ]
13
+ when "-"
14
+ message << "- #{ change [ 1 ] } => #{ change [ 2 ] } "
15
+ when "+"
16
+ message << "+ #{ change [ 1 ] } => #{ change [ 2 ] } "
17
+ when "~"
18
+ message << "~ #{ change [ 1 ] } : #{ change [ 2 ] } -> #{ change [ 3 ] } "
19
+ end
20
+ end
21
+ message
22
+ end
23
+ end
You can’t perform that action at this time.
0 commit comments