89 lines
2.0 KiB
Go
89 lines
2.0 KiB
Go
package slug
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/gosimple/slug"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGoSimple(t *testing.T) {
|
|
// 俄文
|
|
text := slug.Make("Hellö Wörld хелло ворлд")
|
|
assert.Equal(t, text, "hello-world-khello-vorld")
|
|
fmt.Println(text)
|
|
|
|
// 繁体中文
|
|
someText := slug.Make("影師")
|
|
assert.Equal(t, someText, "ying-shi")
|
|
fmt.Println(someText)
|
|
|
|
// 简体中文
|
|
cnText := slug.Make("天下太平")
|
|
assert.Equal(t, cnText, "tian-xia-tai-ping")
|
|
fmt.Println(cnText)
|
|
|
|
// 英文
|
|
enText := slug.MakeLang("This & that", "en")
|
|
assert.Equal(t, enText, "this-and-that")
|
|
fmt.Println(enText)
|
|
|
|
// 德文
|
|
deText := slug.MakeLang("Diese & Dass", "de")
|
|
assert.Equal(t, deText, "diese-und-dass")
|
|
fmt.Println(deText)
|
|
|
|
// 保持大小写
|
|
slug.Lowercase = false
|
|
deUppercaseText := slug.MakeLang("Diese & Dass", "de")
|
|
assert.Equal(t, deUppercaseText, "Diese-und-Dass")
|
|
fmt.Println(deUppercaseText)
|
|
|
|
// 字符替换
|
|
slug.CustomSub = map[string]string{
|
|
"water": "sand",
|
|
}
|
|
textSub := slug.Make("water is hot")
|
|
assert.Equal(t, textSub, "sand-is-hot")
|
|
fmt.Println(textSub)
|
|
}
|
|
|
|
func TestGenerate(t *testing.T) {
|
|
// 俄文
|
|
text := Generate("Hellö Wörld хелло ворлд")
|
|
assert.Equal(t, text, "hello-world-khello-vorld")
|
|
fmt.Println(text)
|
|
|
|
// 繁体中文
|
|
someText := Generate("影師")
|
|
assert.Equal(t, someText, "ying-shi")
|
|
fmt.Println(someText)
|
|
|
|
// 简体中文
|
|
cnText := Generate("天下太平")
|
|
assert.Equal(t, cnText, "tian-xia-tai-ping")
|
|
fmt.Println(cnText)
|
|
|
|
// 英文
|
|
enText := GenerateEnglish("This & that")
|
|
assert.Equal(t, enText, "this-and-that")
|
|
fmt.Println(enText)
|
|
|
|
enText = GenerateCaseSensitive("This & That")
|
|
assert.Equal(t, enText, "This-and-That")
|
|
fmt.Println(enText)
|
|
|
|
// 德文
|
|
deText := GenerateGerman("Diese & Dass")
|
|
assert.Equal(t, deText, "diese-und-dass")
|
|
fmt.Println(deText)
|
|
|
|
slug.CustomSub = map[string]string{
|
|
"water": "sand",
|
|
}
|
|
textSub := Generate("water is hot")
|
|
assert.Equal(t, textSub, "sand-is-hot")
|
|
fmt.Println(textSub)
|
|
}
|