From d4fd866ce3f743961d41a7cda96ab450320b81c6 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 14 Dec 2016 11:41:17 -0500 Subject: [PATCH] Fix a bug in diff formatting --- pkg/diff/diff.go | 5 ++++- pkg/diff/diff_test.go | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/pkg/diff/diff.go b/pkg/diff/diff.go index 4c6c25505a..4ad9cb8ef1 100644 --- a/pkg/diff/diff.go +++ b/pkg/diff/diff.go @@ -121,7 +121,10 @@ func buildDiffLines(lString, rString string) []lineRecord { } case diffmatchpatch.DiffEqual: - if len(lines) > 0 { + if len(lines) == 1 { + l += lines[0] + r += lines[0] + } else if len(lines) > 1 { if l != "" || r != "" { l += lines[0] r += lines[0] diff --git a/pkg/diff/diff_test.go b/pkg/diff/diff_test.go index cf1b016a81..7f8bdb7b74 100644 --- a/pkg/diff/diff_test.go +++ b/pkg/diff/diff_test.go @@ -117,3 +117,22 @@ F2` t.Fatalf("unexpected diff. expected=%v, actual=%v", expectedDiff, actual) } } + + +func Test_Diff_ChangedLine(t *testing.T) { + l := `ABC123 +Line2 +Line3` + r := `ABCDEF +Line2 +Line3` + expectedDiff := `+ ABCDEF +- ABC123 + Line2 + Line3 +` + actual := FormatDiff(l, r) + if actual != expectedDiff { + t.Fatalf("unexpected diff. expected=%v, actual=%v", expectedDiff, actual) + } +}