github.com/andrewlunde/glide@v0.20.1/util/normalizename_test.go (about) 1 package util 2 3 import ( 4 "testing" 5 ) 6 7 func TestNormalizeName(t *testing.T) { 8 packages := []struct { 9 input string 10 root string 11 extra string 12 }{ 13 { 14 input: "github.com/andrewlunde/cookoo/web/io/foo", 15 root: "github.com/andrewlunde/cookoo", 16 extra: "web/io/foo", 17 }, 18 { 19 input: `github.com\Masterminds\cookoo\web\io\foo`, 20 root: "github.com/andrewlunde/cookoo", 21 extra: "web/io/foo", 22 }, 23 { 24 input: "golang.org/x/crypto/ssh", 25 root: "golang.org/x/crypto", 26 extra: "ssh", 27 }, 28 { 29 input: "incomplete/example", 30 root: "incomplete/example", 31 extra: "", 32 }, 33 { 34 input: "otherurl/example/root/sub", 35 root: "otherurl/example/root", 36 extra: "sub", 37 }, 38 { 39 input: "net", 40 root: "net", 41 extra: "", 42 }, 43 } 44 remotePackageCache["otherurl/example/root"] = "otherurl/example/root" 45 46 for _, test := range packages { 47 root, extra := NormalizeName(test.input) 48 if root != test.root { 49 t.Errorf("%s: Expected root '%s', got '%s'", test.input, test.root, root) 50 } 51 if extra != test.extra { 52 t.Errorf("%s: Expected extra '%s', got '%s'", test.input, test.extra, extra) 53 } 54 } 55 }