github.com/trevoraustin/hub@v2.2.0-preview1.0.20141105230840-96d8bfc654cc+incompatible/commands/cherry_pick_test.go (about)

     1  package commands
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/bmizerany/assert"
     8  	"github.com/github/hub/fixtures"
     9  )
    10  
    11  func TestParseCherryPickProjectAndSha(t *testing.T) {
    12  	testConfigs := fixtures.SetupTestConfigs()
    13  	defer testConfigs.TearDown()
    14  
    15  	ref := "https://github.com/jingweno/gh/commit/a319d88#comments"
    16  	project, sha := parseCherryPickProjectAndSha(ref)
    17  
    18  	assert.Equal(t, "jingweno", project.Owner)
    19  	assert.Equal(t, "gh", project.Name)
    20  	assert.Equal(t, "github.com", project.Host)
    21  	assert.Equal(t, "https", project.Protocol)
    22  	assert.Equal(t, "a319d88", sha)
    23  
    24  	ref = "https://github.com/jingweno/gh/commit/a319d88#comments"
    25  	project, sha = parseCherryPickProjectAndSha(ref)
    26  
    27  	assert.Equal(t, "jingweno", project.Owner)
    28  	assert.Equal(t, "gh", project.Name)
    29  	assert.Equal(t, "a319d88", sha)
    30  }
    31  
    32  func TestTransformCherryPickArgs(t *testing.T) {
    33  	testConfigs := fixtures.SetupTestConfigs()
    34  	defer testConfigs.TearDown()
    35  
    36  	args := NewArgs([]string{})
    37  	transformCherryPickArgs(args)
    38  	cmds := args.Commands()
    39  	assert.Equal(t, 1, len(cmds))
    40  
    41  	os.Setenv("HUB_PROTOCOL", "git")
    42  	defer os.Setenv("HUB_PROTOCOL", "")
    43  	args = NewArgs([]string{"cherry-pick", "https://github.com/jingweno/gh/commit/a319d88#comments"})
    44  	transformCherryPickArgs(args)
    45  
    46  	cmds = args.Commands()
    47  	assert.Equal(t, 2, len(cmds))
    48  	assert.Equal(t, "git remote add -f jingweno git://github.com/jingweno/gh.git", cmds[0].String())
    49  	assert.Equal(t, "git cherry-pick a319d88", cmds[1].String())
    50  }