2016-02-24 23:52:11 +00:00
// Copyright 2016 The Hugo Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package helpers
import (
"reflect"
"testing"
)
func TestEmojiCustom ( t * testing . T ) {
for i , this := range [ ] struct {
input string
expect [ ] byte
} {
2016-05-09 20:59:49 +00:00
{ "A :smile: a day" , [ ] byte ( "A 😄 a day" ) } ,
{ "A few :smile:s a day" , [ ] byte ( "A few 😄s a day" ) } ,
{ "A :smile: and a :beer: makes the day for sure." , [ ] byte ( "A 😄 and a 🍺 makes the day for sure." ) } ,
{ "A :smile: and: a :beer:" , [ ] byte ( "A 😄 and: a 🍺" ) } ,
{ "A :diamond_shape_with_a_dot_inside: and then some." , [ ] byte ( "A 💠 and then some." ) } ,
{ ":smile:" , [ ] byte ( "😄" ) } ,
2016-02-24 23:52:11 +00:00
{ ":smi" , [ ] byte ( ":smi" ) } ,
2016-05-09 20:59:49 +00:00
{ "A :smile:" , [ ] byte ( "A 😄" ) } ,
{ ":beer:!" , [ ] byte ( "🍺!" ) } ,
{ "::smile:" , [ ] byte ( ":😄" ) } ,
{ ":beer::" , [ ] byte ( "🍺:" ) } ,
{ " :beer: :" , [ ] byte ( " 🍺 :" ) } ,
{ ":beer: and :smile: and another :beer:!" , [ ] byte ( "🍺 and 😄 and another 🍺!" ) } ,
{ " :beer: : " , [ ] byte ( " 🍺 : " ) } ,
2023-05-22 17:11:12 +00:00
{ "No smiles for you!" , [ ] byte ( "No smiles for you!" ) } ,
2016-02-24 23:52:11 +00:00
{ " The motto: no smiles! " , [ ] byte ( " The motto: no smiles! " ) } ,
{ ":hugo_is_the_best_static_gen:" , [ ] byte ( ":hugo_is_the_best_static_gen:" ) } ,
2016-05-09 20:59:49 +00:00
{ "은행 :smile: 은행" , [ ] byte ( "은행 😄 은행" ) } ,
2016-06-11 18:40:56 +00:00
// #2198
{ "See: A :beer:!" , [ ] byte ( "See: A 🍺!" ) } ,
{ ` Aaaaaaaaaa : aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa .
: beer : ` , []byte( ` Aaaaaaaaaa : aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa .
🍺 ` ) } ,
2016-07-01 13:12:36 +00:00
{ "test :\n```bash\nthis is a test\n```\n\ntest\n\n:cool::blush:::pizza:\\:blush : : blush: :pizza:" , [ ] byte ( "test :\n```bash\nthis is a test\n```\n\ntest\n\n🆒😊:🍕\\:blush : : blush: 🍕" ) } ,
2016-08-29 22:34:48 +00:00
{
// 2391
"[a](http://gohugo.io) :smile: [r](http://gohugo.io/introduction/overview/) :beer:" ,
[ ] byte ( ` [a](http://gohugo.io) 😄 [r](http://gohugo.io/introduction/overview/) 🍺 ` ) ,
} ,
2016-02-24 23:52:11 +00:00
} {
2016-06-11 18:40:56 +00:00
2016-02-24 23:52:11 +00:00
result := Emojify ( [ ] byte ( this . input ) )
if ! reflect . DeepEqual ( result , this . expect ) {
2016-08-29 22:34:48 +00:00
t . Errorf ( "[%d] got %q but expected %q" , i , result , this . expect )
2016-02-24 23:52:11 +00:00
}
}
}