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  }