diff options
Diffstat (limited to 'models/git_diff_test.go')
-rw-r--r-- | models/git_diff_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/models/git_diff_test.go b/models/git_diff_test.go new file mode 100644 index 0000000000..4f4d47bf9d --- /dev/null +++ b/models/git_diff_test.go @@ -0,0 +1,29 @@ +package models + +import ( + dmp "github.com/sergi/go-diff/diffmatchpatch" + "html/template" + "testing" +) + +func assertEqual(t *testing.T, s1 string, s2 template.HTML) { + if s1 != string(s2) { + t.Errorf("%s should be equal %s", s2, s1) + } +} + +func TestDiffToHtml(t *testing.T) { + assertEqual(t, "foo <span class=\"added-code\">bar</span> biz", diffToHtml([]dmp.Diff{ + dmp.Diff{dmp.DiffEqual, "foo "}, + dmp.Diff{dmp.DiffInsert, "bar"}, + dmp.Diff{dmp.DiffDelete, " baz"}, + dmp.Diff{dmp.DiffEqual, " biz"}, + }, DIFF_LINE_ADD)) + + assertEqual(t, "foo <span class=\"removed-code\">bar</span> biz", diffToHtml([]dmp.Diff{ + dmp.Diff{dmp.DiffEqual, "foo "}, + dmp.Diff{dmp.DiffDelete, "bar"}, + dmp.Diff{dmp.DiffInsert, " baz"}, + dmp.Diff{dmp.DiffEqual, " biz"}, + }, DIFF_LINE_DEL)) +} |