summaryrefslogtreecommitdiff
path: root/internal/text/markdown_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-09-29 10:39:56 +0200
committerLibravatar GitHub <noreply@github.com>2023-09-29 10:39:56 +0200
commit536d9e482d4ebc012855372b9fcfa4f022d1618a (patch)
tree36079fb403b9a9bb7d3a64ace582c6870bcce77b /internal/text/markdown_test.go
parent[bugfix] Move follow.show_reblogs check further up to avoid showing unwanted ... (diff)
downloadgotosocial-536d9e482d4ebc012855372b9fcfa4f022d1618a.tar.xz
[chore/bugfix] Deinterface text.Formatter, allow underscores in hashtags (#2233)
Diffstat (limited to 'internal/text/markdown_test.go')
-rw-r--r--internal/text/markdown_test.go27
1 files changed, 23 insertions, 4 deletions
diff --git a/internal/text/markdown_test.go b/internal/text/markdown_test.go
index cc466df6c..98ed3a96b 100644
--- a/internal/text/markdown_test.go
+++ b/internal/text/markdown_test.go
@@ -76,10 +76,16 @@ const (
mdWithLinkExpected = "<p>Check out this code, i heard it was written by a sloth <a href=\"https://github.com/superseriousbusiness/gotosocial\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">https://github.com/superseriousbusiness/gotosocial</a></p>"
mdObjectInCodeBlock = "@foss_satan@fossbros-anonymous.io this is how to mention a user\n```\n@the_mighty_zork hey bud! nice #ObjectOrientedProgramming software you've been writing lately! :rainbow:\n```\nhope that helps"
mdObjectInCodeBlockExpected = "<p><span class=\"h-card\"><a href=\"http://fossbros-anonymous.io/@foss_satan\" class=\"u-url mention\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">@<span>foss_satan</span></a></span> this is how to mention a user</p><pre><code>@the_mighty_zork hey bud! nice #ObjectOrientedProgramming software you&#39;ve been writing lately! :rainbow:\n</code></pre><p>hope that helps</p>"
- mdItalicHashtag = "_#hashtag_"
- mdItalicHashtagExpected = "<p><em><a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a></em></p>"
- mdItalicHashtags = "_#hashtag #hashtag #hashtag_"
- mdItalicHashtagsExpected = "<p><em><a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a> <a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a> <a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a></em></p>"
+ // Hashtags can be italicized but only with *, not _.
+ mdItalicHashtag = "*#hashtag*"
+ mdItalicHashtagExpected = "<p><em><a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a></em></p>"
+ mdItalicHashtags = "*#hashtag #hashtag #hashtag*"
+ mdItalicHashtagsExpected = "<p><em><a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a> <a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a> <a href=\"http://localhost:8080/tags/hashtag\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag</span></a></em></p>"
+ // Hashtags can end with or contain _ but not start with it.
+ mdUnderscorePrefixHashtag = "_#hashtag"
+ mdUnderscorePrefixHashtagExpected = "<p>_#hashtag</p>"
+ mdUnderscoreSuffixHashtag = "#hashtag_"
+ mdUnderscoreSuffixHashtagExpected = "<p><a href=\"http://localhost:8080/tags/hashtag_\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\">#<span>hashtag_</span></a></p>"
// BEWARE: sneaky unicode business going on.
// the first ö is one rune, the second ö is an o with a combining diacritic.
mdUnnormalizedHashtag = "#hellöthere #hellöthere"
@@ -194,6 +200,19 @@ func (suite *MarkdownTestSuite) TestParseItalicHashtags() {
suite.Equal(mdItalicHashtagsExpected, formatted.HTML)
}
+func (suite *MarkdownTestSuite) TestParseHashtagUnderscorePrefix() {
+ formatted := suite.FromMarkdown(mdUnderscorePrefixHashtag)
+ suite.Equal(mdUnderscorePrefixHashtagExpected, formatted.HTML)
+ suite.Empty(formatted.Tags)
+}
+
+func (suite *MarkdownTestSuite) TestParseHashtagUnderscoreSuffix() {
+ formatted := suite.FromMarkdown(mdUnderscoreSuffixHashtag)
+ suite.Equal(mdUnderscoreSuffixHashtagExpected, formatted.HTML)
+ suite.NotEmpty(formatted.Tags)
+ suite.Equal("hashtag_", formatted.Tags[0].Name)
+}
+
func (suite *MarkdownTestSuite) TestParseUnnormalizedHashtag() {
formatted := suite.FromMarkdown(mdUnnormalizedHashtag)
suite.Equal(mdUnnormalizedHashtagExpected, formatted.HTML)