diff --git a/lib/rspec/matchers/expecteds_for_multiple_diffs.rb b/lib/rspec/matchers/expecteds_for_multiple_diffs.rb index 608b3a101..b286bb5ae 100644 --- a/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +++ b/lib/rspec/matchers/expecteds_for_multiple_diffs.rb @@ -69,7 +69,12 @@ def diffs(differ, actual) @expected_list.map do |(expected, diff_label)| diff = differ.diff(actual, expected) next if diff.strip.empty? - "#{diff_label}#{diff}" + if diff == "\e[0m\n\e[0m" + "#{diff_label}\n" \ + " " + else + "#{diff_label}#{diff}" + end end.compact.join("\n") end end diff --git a/spec/rspec/matchers/expecteds_for_multiple_diffs_spec.rb b/spec/rspec/matchers/expecteds_for_multiple_diffs_spec.rb index c351f4351..222feaf6c 100644 --- a/spec/rspec/matchers/expecteds_for_multiple_diffs_spec.rb +++ b/spec/rspec/matchers/expecteds_for_multiple_diffs_spec.rb @@ -60,12 +60,14 @@ def create_matcher(stubs) end describe "#message_with_diff" do - it "returns just provided message if diff is empty" do - allow(FakeDiffer).to receive(:diff) { "" } + it "returns a message warning if the diff is empty" do + allow(FakeDiffer).to receive(:diff) { "\e[0m\n\e[0m" } expect(wrapped_value.message_with_diff( message, differ, actual )).to eq(dedent <<-EOS) |a message + |Diff: + | EOS end