// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package slug import "testing" func TestIsSlugAscii(t *testing.T) { tests := []struct { s string b bool }{ {"", false}, {"-", false}, {"A", false}, {"a", true}, {"-a", false}, {"a-", false}, {"a-0", true}, {"aa", true}, {"a--0", false}, {"abc世界def", false}, } for _, test := range tests { if IsSlugAscii(test.s) != test.b { t.Error(test.s, "!=", test.b) } } } func TestSlugAscii(t *testing.T) { var tests = []struct{ in, out string }{ {"ABC世界def-", "abc-e4b896e7958c-def"}, {"012世界", "012-e4b896e7958c"}, {"世界345", "e4b896e7958c-345"}, {"012-世界-345", "012-e4b896e7958c-345"}, } for _, test := range tests { if out := SlugAscii(test.in); out != test.out { t.Errorf("%q: %q != %q", test.in, out, test.out) } } }