2018-10-04 16:55:48 +00:00
|
|
|
package namespace
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
func TestSplitIDFromString(t *testing.T) {
|
|
|
|
tcases := []struct {
|
|
|
|
input string
|
|
|
|
id string
|
|
|
|
prefix string
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
"foo",
|
|
|
|
"",
|
|
|
|
"foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.id",
|
|
|
|
"id",
|
|
|
|
"foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo.id",
|
|
|
|
"id",
|
|
|
|
"foo.foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo/foo.id",
|
|
|
|
"id",
|
|
|
|
"foo.foo/foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo/.id",
|
|
|
|
"id",
|
|
|
|
"foo.foo/",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo/foo",
|
|
|
|
"",
|
|
|
|
"foo.foo/foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo/f",
|
|
|
|
"",
|
|
|
|
"foo.foo/f",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"foo.foo/",
|
|
|
|
"",
|
|
|
|
"foo.foo/",
|
|
|
|
},
|
2018-10-15 16:56:24 +00:00
|
|
|
{
|
|
|
|
"b.foo",
|
|
|
|
"",
|
|
|
|
"b.foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"s.foo",
|
|
|
|
"",
|
|
|
|
"s.foo",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"t.foo",
|
|
|
|
"foo",
|
|
|
|
"t",
|
|
|
|
},
|
2018-10-04 16:55:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for _, c := range tcases {
|
|
|
|
pre, id := SplitIDFromString(c.input)
|
|
|
|
if pre != c.prefix || id != c.id {
|
|
|
|
t.Fatalf("bad test case: %s != %s, %s != %s", pre, c.prefix, id, c.id)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|