github.com/jingweno/gh@v2.1.1-0.20221007190738-04a7985fa9a1+incompatible/commands/clone_test.go (about) 1 package commands 2 3 import ( 4 "github.com/bmizerany/assert" 5 "github.com/jingweno/gh/github" 6 "os" 7 "testing" 8 ) 9 10 func TestTransformCloneArgs(t *testing.T) { 11 os.Setenv("GH_PROTOCOL", "git") 12 github.CreateTestConfigs("jingweno", "123") 13 14 args := NewArgs([]string{"clone", "foo/gh"}) 15 transformCloneArgs(args) 16 17 assert.Equal(t, 1, args.ParamsSize()) 18 assert.Equal(t, "git://github.com/foo/gh.git", args.FirstParam()) 19 20 args = NewArgs([]string{"clone", "-p", "foo/gh"}) 21 transformCloneArgs(args) 22 23 assert.Equal(t, 1, args.ParamsSize()) 24 assert.Equal(t, "git@github.com:foo/gh.git", args.FirstParam()) 25 26 args = NewArgs([]string{"clone", "jingweno/gh"}) 27 transformCloneArgs(args) 28 29 assert.Equal(t, 1, args.ParamsSize()) 30 assert.Equal(t, "git://github.com/jingweno/gh.git", args.FirstParam()) 31 32 args = NewArgs([]string{"clone", "-p", "acl-services/devise-acl"}) 33 transformCloneArgs(args) 34 35 assert.Equal(t, 1, args.ParamsSize()) 36 assert.Equal(t, "git@github.com:acl-services/devise-acl.git", args.FirstParam()) 37 38 args = NewArgs([]string{"clone", "jekyll_and_hyde"}) 39 transformCloneArgs(args) 40 41 assert.Equal(t, 1, args.ParamsSize()) 42 assert.Equal(t, "git@github.com:jingweno/jekyll_and_hyde.git", args.FirstParam()) 43 44 args = NewArgs([]string{"clone", "-p", "jekyll_and_hyde"}) 45 transformCloneArgs(args) 46 47 assert.Equal(t, 1, args.ParamsSize()) 48 assert.Equal(t, "git@github.com:jingweno/jekyll_and_hyde.git", args.FirstParam()) 49 50 args = NewArgs([]string{"clone", "git://github.com/jingweno/gh", "gh"}) 51 transformCloneArgs(args) 52 53 assert.Equal(t, 2, args.ParamsSize()) 54 assert.Equal(t, "git://github.com/jingweno/gh", args.FirstParam()) 55 assert.Equal(t, "gh", args.GetParam(1)) 56 }