mirror of
https://github.com/Luzifer/repo-template.git
synced 2024-11-14 02:12:44 +00:00
58 lines
976 B
Go
58 lines
976 B
Go
|
package unidecode
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func testTransliteration(original string, decoded string, t *testing.T) {
|
||
|
if r := Unidecode(original); r != decoded {
|
||
|
t.Errorf("Expected '%s', got '%s'\n", decoded, r)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestASCII(t *testing.T) {
|
||
|
s := "ABCDEF"
|
||
|
testTransliteration(s, s, t)
|
||
|
}
|
||
|
|
||
|
func TestKnosos(t *testing.T) {
|
||
|
o := "Κνωσός"
|
||
|
d := "Knosos"
|
||
|
testTransliteration(o, d, t)
|
||
|
}
|
||
|
|
||
|
func TestBeiJing(t *testing.T) {
|
||
|
o := "\u5317\u4EB0"
|
||
|
d := "Bei Jing "
|
||
|
testTransliteration(o, d, t)
|
||
|
}
|
||
|
|
||
|
func TestEmoji(t *testing.T) {
|
||
|
o := "Hey Luna t belle 😵😂"
|
||
|
d := "Hey Luna t belle "
|
||
|
testTransliteration(o, d, t)
|
||
|
}
|
||
|
|
||
|
func BenchmarkUnidecode(b *testing.B) {
|
||
|
cases := []string{
|
||
|
"ABCDEF",
|
||
|
"Κνωσός",
|
||
|
"\u5317\u4EB0",
|
||
|
}
|
||
|
for ii := 0; ii < b.N; ii++ {
|
||
|
for _, v := range cases {
|
||
|
_ = Unidecode(v)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkDecodeTable(b *testing.B) {
|
||
|
for ii := 0; ii < b.N; ii++ {
|
||
|
decodeTransliterations()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
decodeTransliterations()
|
||
|
}
|