github.com/pengwynn/gh@v1.0.1-0.20140118055701-14327ca3942e/commands/remote_test.go (about) 1 package commands 2 3 import ( 4 "github.com/bmizerany/assert" 5 "github.com/jingweno/gh/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("GH_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", "-p", "jingweno"}) 35 transformRemoteArgs(args) 36 37 assert.Equal(t, 3, args.ParamsSize()) 38 assert.Equal(t, "add", args.FirstParam()) 39 assert.Equal(t, "jingweno", args.GetParam(1)) 40 reg = regexp.MustCompile("^git@github.com:jingweno/.+\\.git$") 41 assert.T(t, reg.MatchString(args.GetParam(2))) 42 43 args = NewArgs([]string{"remote", "add", "origin"}) 44 transformRemoteArgs(args) 45 46 assert.Equal(t, 3, args.ParamsSize()) 47 assert.Equal(t, "add", args.FirstParam()) 48 assert.Equal(t, "origin", args.GetParam(1)) 49 reg = regexp.MustCompile("^git://github.com/.+/.+\\.git$") 50 assert.T(t, reg.MatchString(args.GetParam(2))) 51 52 args = NewArgs([]string{"remote", "add", "jingweno", "git@github.com:jingweno/gh.git"}) 53 transformRemoteArgs(args) 54 55 assert.Equal(t, 3, args.ParamsSize()) 56 assert.Equal(t, "jingweno", args.GetParam(1)) 57 assert.Equal(t, "add", args.FirstParam()) 58 assert.Equal(t, "git@github.com:jingweno/gh.git", args.GetParam(2)) 59 60 args = NewArgs([]string{"remote", "add", "-p", "origin", "org/foo"}) 61 transformRemoteArgs(args) 62 63 assert.Equal(t, 3, args.ParamsSize()) 64 assert.Equal(t, "origin", args.GetParam(1)) 65 assert.Equal(t, "add", args.FirstParam()) 66 assert.Equal(t, "git@github.com:org/foo.git", args.GetParam(2)) 67 }