Skip to content

Commit 73b155d

Browse files
Add more tests for diff highlighting (#12467)
Adding some more tests for different cases to make sure they keep working Co-authored-by: techknowlogick <techknowlogick@gitea.io>
1 parent a4ba1ad commit 73b155d

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

services/gitdiff/gitdiff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ var (
181181
removedCodePrefix = []byte(`<span class="removed-code">`)
182182
codeTagSuffix = []byte(`</span>`)
183183
)
184-
var addSpanRegex = regexp.MustCompile(`<span class="[a-z]*$`)
184+
var addSpanRegex = regexp.MustCompile(`<span [class="[a-z]*]*$`)
185185

186186
func diffToHTML(fileName string, diffs []diffmatchpatch.Diff, lineType DiffLineType) template.HTML {
187187
buf := bytes.NewBuffer(nil)

services/gitdiff/gitdiff_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,21 @@ func TestDiffToHTML(t *testing.T) {
6060
{Type: dmp.DiffInsert, Text: "ge</span><span class=\"p\">.</span><span class=\"nx\">Milestone</span><span class=\"p\">,</span> <span class=\"nx\">from</span><span class=\"p\">,</span> <span class=\"nx\">milestoneID"},
6161
{Type: dmp.DiffEqual, Text: "</span><span class=\"p\">)</span>"},
6262
}, DiffLineDel))
63+
64+
assertEqual(t, "<span class=\"nx\">r</span><span class=\"p\">.</span><span class=\"nf\">WrapperRenderer</span><span class=\"p\">(</span><span class=\"nx\">w</span><span class=\"p\">,</span> <span class=\"nx\"><span class=\"removed-code\">language</span></span><span class=\"removed-code\"><span class=\"p\">,</span> <span class=\"kc\">true</span><span class=\"p\">,</span> <span class=\"nx\">attrs</span></span><span class=\"p\">,</span> <span class=\"kc\">false</span><span class=\"p\">)</span>", diffToHTML("", []dmp.Diff{
65+
{Type: dmp.DiffEqual, Text: "<span class=\"nx\">r</span><span class=\"p\">.</span><span class=\"nf\">WrapperRenderer</span><span class=\"p\">(</span><span class=\"nx\">w</span><span class=\"p\">,</span> <span class=\"nx\">"},
66+
{Type: dmp.DiffDelete, Text: "language</span><span "},
67+
{Type: dmp.DiffEqual, Text: "c"},
68+
{Type: dmp.DiffDelete, Text: "lass=\"p\">,</span> <span class=\"kc\">true</span><span class=\"p\">,</span> <span class=\"nx\">attrs"},
69+
{Type: dmp.DiffEqual, Text: "</span><span class=\"p\">,</span> <span class=\"kc\">false</span><span class=\"p\">)</span>"},
70+
}, DiffLineDel))
71+
72+
assertEqual(t, "<span class=\"added-code\">language</span></span><span class=\"added-code\"><span class=\"p\">,</span> <span class=\"kc\">true</span><span class=\"p\">,</span> <span class=\"nx\">attrs</span></span><span class=\"p\">,</span> <span class=\"kc\">false</span><span class=\"p\">)</span>", diffToHTML("", []dmp.Diff{
73+
{Type: dmp.DiffInsert, Text: "language</span><span "},
74+
{Type: dmp.DiffEqual, Text: "c"},
75+
{Type: dmp.DiffInsert, Text: "lass=\"p\">,</span> <span class=\"kc\">true</span><span class=\"p\">,</span> <span class=\"nx\">attrs"},
76+
{Type: dmp.DiffEqual, Text: "</span><span class=\"p\">,</span> <span class=\"kc\">false</span><span class=\"p\">)</span>"},
77+
}, DiffLineAdd))
6378
}
6479

6580
func TestParsePatch(t *testing.T) {

0 commit comments

Comments
 (0)