The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/infra/slugify/slugify_test.go

58 lines
2.3 KiB

package slugify
import (
"testing"
)
func TestSlugify(t *testing.T) {
results := make(map[string]string)
results["hello-playground"] = "Hello, playground"
results["00a4bc92-3695-5702-9ddf-6719fdf11567"] = "😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 Hello, it's paradise"
results["61db60b5-f1e7-5853-9b81-0f074fc268ea"] = "😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬"
results["f09f98a2"] = "😢 -"
results["a"] = "?,a . \n "
results["0a68eb57-c88a-5f34-9e9d-27f85e68af4f"] = "" // empty input has a slug!
results["3cbb528a-0ebf-54ad-bed2-2a188cd1824e"] = "方向盤後面 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.
`)
}
}