@@ -636,6 +636,42 @@ func TestPRCreate_web(t *testing.T) {
636636 eq (t , browserCall [len (browserCall )- 1 ], "https://github.com/OWNER/REPO/compare/master...feature?expand=1" )
637637}
638638
639+ func TestPRCreate_web_uncommon_branch_names (t * testing.T ) {
640+ http := initFakeHTTP ()
641+ defer http .Verify (t )
642+
643+ http .StubRepoInfoResponse ("OWNER" , "REPO" , "master" )
644+ http .StubRepoResponse ("OWNER" , "REPO" )
645+ http .Register (
646+ httpmock .GraphQL (`query UserCurrent\b` ),
647+ httpmock .StringResponse (`{"data": {"viewer": {"login": "OWNER"} } }` ))
648+
649+ cs , cmdTeardown := test .InitCmdStubber ()
650+ defer cmdTeardown ()
651+
652+ cs .Stub ("" ) // git config --get-regexp (determineTrackingBranch)
653+ cs .Stub ("" ) // git show-ref --verify (determineTrackingBranch)
654+ cs .Stub ("" ) // git status
655+ cs .Stub ("1234567890,commit 0\n 2345678901,commit 1" ) // git log
656+ cs .Stub ("" ) // git push
657+ cs .Stub ("" ) // browser
658+
659+ ask , cleanupAsk := prompt .InitAskStubber ()
660+ defer cleanupAsk ()
661+ ask .StubOne (0 )
662+
663+ output , err := runCommand (http , nil , "feature/#123" , true , `--web` )
664+ require .NoError (t , err )
665+
666+ eq (t , output .String (), "" )
667+ eq (t , output .Stderr (), "Opening github.com/OWNER/REPO/compare/master...feature/#123 in your browser.\n " )
668+
669+ eq (t , len (cs .Calls ), 6 )
670+ eq (t , strings .Join (cs .Calls [4 ].Args , " " ), "git push --set-upstream origin HEAD:feature/#123" )
671+ browserCall := cs .Calls [5 ].Args
672+ eq (t , browserCall [len (browserCall )- 1 ], "https://github.com/OWNER/REPO/compare/master...feature%2F%23123?expand=1" )
673+ }
674+
639675func Test_determineTrackingBranch_empty (t * testing.T ) {
640676 cs , cmdTeardown := test .InitCmdStubber ()
641677 defer cmdTeardown ()
0 commit comments