Skip to content

Commit

Permalink
Fix Emojfy for certain text patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
bep authored and tychoish committed Aug 13, 2017
1 parent 8b3e506 commit c08c299
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
9 changes: 3 additions & 6 deletions helpers/emoji.go
Expand Up @@ -51,14 +51,11 @@ func Emojify(source []byte) []byte {
}

endEmoji := bytes.Index(source[j+1:upper], emojiDelim)

if endEmoji < 0 {
break
}

nextWordDelim := bytes.Index(source[j:upper], emojiWordDelim)

if endEmoji == 0 || (nextWordDelim != -1 && nextWordDelim < endEmoji) {
if endEmoji < 0 {
start += upper + 1
} else if endEmoji == 0 || (nextWordDelim != -1 && nextWordDelim < endEmoji) {
start += endEmoji + 1
} else {
endKey := endEmoji + j + 2
Expand Down
8 changes: 8 additions & 0 deletions helpers/emoji_test.go
Expand Up @@ -44,7 +44,15 @@ func TestEmojiCustom(t *testing.T) {
{" The motto: no smiles! ", []byte(" The motto: no smiles! ")},
{":hugo_is_the_best_static_gen:", []byte(":hugo_is_the_best_static_gen:")},
{"은행 :smile: 은행", []byte("은행 😄 은행")},
// #2198
{"See: A :beer:!", []byte("See: A 🍺!")},
{`Aaaaaaaaaa: aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa.
:beer:`, []byte(`Aaaaaaaaaa: aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa.
🍺`)},
} {

result := Emojify([]byte(this.input))

if !reflect.DeepEqual(result, this.expect) {
Expand Down

0 comments on commit c08c299

Please sign in to comment.