github.com/pengwynn/gh@v1.0.1-0.20140118055701-14327ca3942e/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  }