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 }