blob: d5a454bcd4a306ae550ea564e5ec77064dd2bf13 [file] [log] [blame]
package util
import (
"testing"
)
func TestNormalizeName(t *testing.T) {
packages := []struct {
input string
root string
extra string
}{
{
input: "github.com/Masterminds/cookoo/web/io/foo",
root: "github.com/Masterminds/cookoo",
extra: "web/io/foo",
},
{
input: `github.com\Masterminds\cookoo\web\io\foo`,
root: "github.com/Masterminds/cookoo",
extra: "web/io/foo",
},
{
input: "golang.org/x/crypto/ssh",
root: "golang.org/x/crypto",
extra: "ssh",
},
{
input: "incomplete/example",
root: "incomplete/example",
extra: "",
},
{
input: "otherurl/example/root/sub",
root: "otherurl/example/root",
extra: "sub",
},
{
input: "net",
root: "net",
extra: "",
},
}
remotePackageCache["otherurl/example/root"] = "otherurl/example/root"
for _, test := range packages {
root, extra := NormalizeName(test.input)
if root != test.root {
t.Errorf("%s: Expected root '%s', got '%s'", test.input, test.root, root)
}
if extra != test.extra {
t.Errorf("%s: Expected extra '%s', got '%s'", test.input, test.extra, extra)
}
}
}