mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 06:02:13 +08:00
59 lines
2.2 KiB
Go
59 lines
2.2 KiB
Go
package slugify
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestSlugify(t *testing.T) {
|
|
results := make(map[string]string)
|
|
results["hello-playground"] = "Hello, playground"
|
|
results["37e4fb9"] = "😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise"
|
|
results["f6bcbac"] = "😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬"
|
|
results["f09f98a2"] = "😢 -"
|
|
results["a"] = "?,a . \n "
|
|
results["da39a3e"] = "" // empty input has a slug!
|
|
results["f96f70a"] = "方向盤後面 hi this is a test خلف المقو"
|
|
results["cong-hoa-xa-hoi-chu-nghia-viet-nam"] = "Cộng hòa xã hội chủ nghĩa Việt Nam"
|
|
results["noi-nang-canh-canh-ben-long-bieng-khuay"] = "Nỗi nàng canh cánh bên lòng biếng khuây" // This line in a poem called Truyen Kieu
|
|
results["hello-playground"] = "Hello / playground"
|
|
results["hello-playground"] = "Hello % playground"
|
|
results["hello-and-playground"] = "Hello & //% playground"
|
|
results["hello-2a-23-playground"] = "Hello *# playground"
|
|
|
|
for slug, original := range results {
|
|
actual := Slugify(original)
|
|
|
|
if actual != slug {
|
|
t.Errorf("Expected '%s', got: %s", slug, actual)
|
|
}
|
|
}
|
|
}
|
|
|
|
func BenchmarkSlugify(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Slugify("Hello, world!")
|
|
}
|
|
}
|
|
|
|
func BenchmarkSlugifyLongString(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Slugify(`
|
|
😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise
|
|
😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise
|
|
😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise
|
|
😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise
|
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
Aliquam sapien nisl, laoreet quis vestibulum ut, cursus
|
|
in turpis. Sed magna mi, blandit id nisi vel, imperdiet
|
|
mollis turpis. Fusce vel fringilla mauris. Donec cursus
|
|
rhoncus bibendum. Aliquam erat volutpat. Maecenas
|
|
faucibus turpis ex, quis lacinia ligula ultrices non.
|
|
Sed gravida justo augue. Nulla bibendum dignissim tellus
|
|
vitae lobortis. Suspendisse fermentum vel purus in pulvinar.
|
|
Vivamus eu fermentum purus, sit amet tempor orci.
|
|
Praesent congue convallis turpis, ac ullamcorper lorem
|
|
semper id.
|
|
`)
|
|
}
|
|
}
|