From 9829e504c3423f6e4d69ad6346af20f5a59c7837 Mon Sep 17 00:00:00 2001 From: Bhumika Miglani Date: Tue, 1 Sep 2015 21:25:14 +0530 Subject: [PATCH] Show difference also instead of type mismatch displaying --- lib/yamldiff/yamldiff.rb | 2 +- lib/yamldiff/yamldiff_error.rb | 6 ------ spec/lib/yamldiff_error_spec.rb | 8 -------- spec/lib/yamldiff_spec.rb | 2 +- 4 files changed, 2 insertions(+), 16 deletions(-) diff --git a/lib/yamldiff/yamldiff.rb b/lib/yamldiff/yamldiff.rb index 4ead9cd..6a8d070 100644 --- a/lib/yamldiff/yamldiff.rb +++ b/lib/yamldiff/yamldiff.rb @@ -24,7 +24,7 @@ def compare_hashes(first, second, context = []) value2 = second[key] if (value.class != value2.class) - errors << YamldiffKeyValueTypeError.new(key, context) + errors << YamldiffKeyValueError.new(key, context, Diffy::Diff.new(value.to_s + "\n", value2.to_s + "\n")) next end diff --git a/lib/yamldiff/yamldiff_error.rb b/lib/yamldiff/yamldiff_error.rb index f15ddc4..c082b83 100644 --- a/lib/yamldiff/yamldiff_error.rb +++ b/lib/yamldiff/yamldiff_error.rb @@ -17,12 +17,6 @@ def to_s end end -class YamldiffKeyValueTypeError < YamldiffError - def to_s - "Key value type mismatch: #{path}" - end -end - class YamldiffKeyValueError < YamldiffError attr_reader :diff diff --git a/spec/lib/yamldiff_error_spec.rb b/spec/lib/yamldiff_error_spec.rb index fa1fdbe..9b49ad6 100644 --- a/spec/lib/yamldiff_error_spec.rb +++ b/spec/lib/yamldiff_error_spec.rb @@ -8,14 +8,6 @@ end end -describe YamldiffKeyValueTypeError, "#to_s" do - subject(:key_value_type_error) { YamldiffKeyValueTypeError.new('key', ['root', 'namespace']) } - - it "outputs human readable text" do - expect(key_value_type_error.to_s).to eql "Key value type mismatch: root.namespace.key" - end -end - describe YamldiffKeyValueError, "#to_s" do context "without a diff" do subject(:key_value_error) { YamldiffKeyValueError.new('key', ['root', 'namespace']) } diff --git a/spec/lib/yamldiff_spec.rb b/spec/lib/yamldiff_spec.rb index 16faf6d..3d1fcb4 100644 --- a/spec/lib/yamldiff_spec.rb +++ b/spec/lib/yamldiff_spec.rb @@ -29,7 +29,7 @@ second = { a: "1" } result = subject.compare_hashes(first, second).first - expect(result).to be_an_instance_of(YamldiffKeyValueTypeError) + expect(result).to be_an_instance_of(YamldiffKeyValueError) expect(result.key).to eql :a expect(result.context).to be_empty end