diff options
author | zeripath <art27@cantab.net> | 2021-03-15 23:20:05 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-16 00:20:05 +0100 |
commit | ed31ddc29a1cae7af193fb0793d129b07da91ce2 (patch) | |
tree | 2a1ce0fd4085d4ded6c913f0e7763a7239fc8ffd /modules/emoji/emoji_test.go | |
parent | 044cd4d016196e8c7091eee90b7e6f230bba142f (diff) | |
download | gitea-ed31ddc29a1cae7af193fb0793d129b07da91ce2.tar.gz gitea-ed31ddc29a1cae7af193fb0793d129b07da91ce2.zip |
Fix several render issues (#14986)
* Fix an issue with panics related to attributes
* Wrap goldmark render in a recovery function
* Reduce memory use in render emoji
* Use a pipe for rendering goldmark - still needs more work and a limiter
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'modules/emoji/emoji_test.go')
-rw-r--r-- | modules/emoji/emoji_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/emoji/emoji_test.go b/modules/emoji/emoji_test.go index 3eca3a8d8a..def252896f 100644 --- a/modules/emoji/emoji_test.go +++ b/modules/emoji/emoji_test.go @@ -8,6 +8,8 @@ package emoji import ( "reflect" "testing" + + "github.com/stretchr/testify/assert" ) func TestDumpInfo(t *testing.T) { @@ -65,3 +67,34 @@ func TestReplacers(t *testing.T) { } } } + +func TestFindEmojiSubmatchIndex(t *testing.T) { + type testcase struct { + teststring string + expected []int + } + + testcases := []testcase{ + { + "\U0001f44d", + []int{0, len("\U0001f44d")}, + }, + { + "\U0001f44d +1 \U0001f44d \U0001f37a", + []int{0, 4}, + }, + { + " \U0001f44d", + []int{1, 1 + len("\U0001f44d")}, + }, + { + string([]byte{'\u0001'}) + "\U0001f44d", + []int{1, 1 + len("\U0001f44d")}, + }, + } + + for _, kase := range testcases { + actual := FindEmojiSubmatchIndex(kase.teststring) + assert.Equal(t, kase.expected, actual) + } +} |