github.com/echohead/hub@v2.2.1+incompatible/commands/remote_test.go (about) 1 package commands 2 3 import ( 4 "github.com/github/hub/Godeps/_workspace/src/github.com/bmizerany/assert" 5 "github.com/github/hub/github" 6 "os" 7 "regexp" 8 "testing" 9 ) 10 11 func TestParseRepoNameOwner(t *testing.T) { 12 owner, repo := parseRepoNameOwner("jingweno") 13 assert.Equal(t, "jingweno", owner) 14 assert.Equal(t, "", repo) 15 16 owner, repo = parseRepoNameOwner("jingweno/gh") 17 assert.Equal(t, "jingweno", owner) 18 assert.Equal(t, "gh", repo) 19 } 20 21 func TestTransformRemoteArgs(t *testing.T) { 22 os.Setenv("HUB_PROTOCOL", "git") 23 github.CreateTestConfigs("jingweno", "123") 24 25 args := NewArgs([]string{"remote", "add", "jingweno"}) 26 transformRemoteArgs(args) 27 28 assert.Equal(t, 3, args.ParamsSize()) 29 assert.Equal(t, "add", args.FirstParam()) 30 assert.Equal(t, "jingweno", args.GetParam(1)) 31 reg := regexp.MustCompile("^git@github\\.com:jingweno/.+\\.git$") 32 assert.T(t, reg.MatchString(args.GetParam(2))) 33 34 args = NewArgs([]string{"remote", "add", "mislav"}) 35 transformRemoteArgs(args) 36 37 assert.Equal(t, 3, args.ParamsSize()) 38 assert.Equal(t, "add", args.FirstParam()) 39 assert.Equal(t, "mislav", args.GetParam(1)) 40 reg = regexp.MustCompile("^git://github\\.com/mislav/.+\\.git$") 41 assert.T(t, reg.MatchString(args.GetParam(2))) 42 43 args = NewArgs([]string{"remote", "add", "-p", "mislav"}) 44 transformRemoteArgs(args) 45 46 assert.Equal(t, 3, args.ParamsSize()) 47 assert.Equal(t, "add", args.FirstParam()) 48 assert.Equal(t, "mislav", args.GetParam(1)) 49 reg = regexp.MustCompile("^git@github\\.com:mislav/.+\\.git$") 50 assert.T(t, reg.MatchString(args.GetParam(2))) 51 52 args = NewArgs([]string{"remote", "add", "origin"}) 53 transformRemoteArgs(args) 54 55 assert.Equal(t, 3, args.ParamsSize()) 56 assert.Equal(t, "add", args.FirstParam()) 57 assert.Equal(t, "origin", args.GetParam(1)) 58 reg = regexp.MustCompile("^git@github\\.com:jingweno/.+\\.git$") 59 assert.T(t, reg.MatchString(args.GetParam(2))) 60 61 args = NewArgs([]string{"remote", "add", "jingweno", "git@github.com:jingweno/gh.git"}) 62 transformRemoteArgs(args) 63 64 assert.Equal(t, 3, args.ParamsSize()) 65 assert.Equal(t, "jingweno", args.GetParam(1)) 66 assert.Equal(t, "add", args.FirstParam()) 67 assert.Equal(t, "git@github.com:jingweno/gh.git", args.GetParam(2)) 68 69 args = NewArgs([]string{"remote", "add", "-p", "origin", "org/foo"}) 70 transformRemoteArgs(args) 71 72 assert.Equal(t, 3, args.ParamsSize()) 73 assert.Equal(t, "origin", args.GetParam(1)) 74 assert.Equal(t, "add", args.FirstParam()) 75 assert.Equal(t, "git@github.com:org/foo.git", args.GetParam(2)) 76 }