diff --git a/lib/rspec/support/differ.rb b/lib/rspec/support/differ.rb index fa7e5f178..1ab7e73ef 100644 --- a/lib/rspec/support/differ.rb +++ b/lib/rspec/support/differ.rb @@ -46,7 +46,10 @@ def diff_as_string(actual, expected) end end - finalize_output(output, hunks.last.diff(format_type).to_s) if hunks.last + if hunks.last + last_hunk_diff = hunks.last.diff(format_type).to_s.strip + finalize_output(output, last_hunk_diff) + end color_diff output rescue Encoding::CompatibilityError diff --git a/lib/rspec/support/hunk_generator.rb b/lib/rspec/support/hunk_generator.rb index 382579e83..f0aee6892 100644 --- a/lib/rspec/support/hunk_generator.rb +++ b/lib/rspec/support/hunk_generator.rb @@ -24,11 +24,11 @@ def diffs end def expected_lines - @expected.split("\n").map! { |e| e.chomp } + @expected.to_s.split("\n", -1).map! { |e| e.chomp } end def actual_lines - @actual.split("\n").map! { |e| e.chomp } + @actual.to_s.split("\n", -1).map! { |e| e.chomp } end def build_hunk(piece)