summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/markdown/inlines.go4
-rw-r--r--utils/markdown/text_range_test.go11
2 files changed, 10 insertions, 5 deletions
diff --git a/utils/markdown/inlines.go b/utils/markdown/inlines.go
index 02ef47e24..9198435ee 100644
--- a/utils/markdown/inlines.go
+++ b/utils/markdown/inlines.go
@@ -427,7 +427,7 @@ func (p *inlineParser) parseCharacterReference() {
if semicolon := strings.IndexByte(p.raw[p.position:], ';'); semicolon == -1 {
p.inlines = append(p.inlines, &Text{
Text: "&",
- Range: Range{absPos, 1},
+ Range: Range{absPos, absPos + 1},
})
} else if s := CharacterReference(p.raw[p.position : p.position+semicolon]); s != "" {
p.position += semicolon + 1
@@ -438,7 +438,7 @@ func (p *inlineParser) parseCharacterReference() {
} else {
p.inlines = append(p.inlines, &Text{
Text: "&",
- Range: Range{absPos, 1},
+ Range: Range{absPos, absPos + 1},
})
}
}
diff --git a/utils/markdown/text_range_test.go b/utils/markdown/text_range_test.go
index 25c13c40d..de3dd0985 100644
--- a/utils/markdown/text_range_test.go
+++ b/utils/markdown/text_range_test.go
@@ -86,9 +86,14 @@ func TestTextRanges(t *testing.T) {
ExpectedValues: []string{"&amp test"},
},
"notcharref2": {
- Markdown: "&mattermost;",
- ExpectedRanges: []Range{{0, 12}},
- ExpectedValues: []string{"&mattermost;"},
+ Markdown: "this is &mattermost;",
+ ExpectedRanges: []Range{{0, 20}},
+ ExpectedValues: []string{"this is &mattermost;"},
+ },
+ "standalone-ampersand": {
+ Markdown: "Hello & World",
+ ExpectedRanges: []Range{{0, 13}},
+ ExpectedValues: []string{"Hello & World"},
},
} {
t.Run(name, func(t *testing.T) {