From patchwork Sat Apr 25 02:20:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacob Keller X-Patchwork-Id: 11509605 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C79241805 for ; Sat, 25 Apr 2020 02:20:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B7EB920857 for ; Sat, 25 Apr 2020 02:20:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726177AbgDYCU4 (ORCPT ); Fri, 24 Apr 2020 22:20:56 -0400 Received: from mga12.intel.com ([192.55.52.136]:47707 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726135AbgDYCUx (ORCPT ); Fri, 24 Apr 2020 22:20:53 -0400 IronPort-SDR: 7RtlZlLDB9SObqxHkSLADdHEFqH1kg/dLsFLfNBXoeMy1VuAHJXUigrnnozsvfURqtheB/lzkz vnw5TZ5ZCRLw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2020 19:20:52 -0700 IronPort-SDR: POMDv5k+oKbtlFf1ui/NlReo7+6ZaBh8nl/NGF8szHtwM5bK41kRS7oWW1BU/fUDVHsOCvoLJ8 96qgA6yrj+DQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,314,1583222400"; d="scan'208";a="281056779" Received: from jekeller-desk.amr.corp.intel.com ([10.166.241.33]) by fmsmga004.fm.intel.com with ESMTP; 24 Apr 2020 19:20:52 -0700 From: Jacob Keller To: git@vger.kernel.org Cc: Jonathan Nieder , Jacob Keller Subject: [PATCH 04/11] completion: add tests showing lack of support for git switch -c/-C Date: Fri, 24 Apr 2020 19:20:37 -0700 Message-Id: <20200425022045.1089291-5-jacob.e.keller@intel.com> X-Mailer: git-send-email 2.25.2 In-Reply-To: <20200425022045.1089291-1-jacob.e.keller@intel.com> References: <20200425022045.1089291-1-jacob.e.keller@intel.com> MIME-Version: 1.0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Jacob Keller Add several tests for git switch completion which highlight the expected behavior if -c or -C have been provided. Show that properly recognizing and supporting -c should override the behavior for --track. Signed-off-by: Jacob Keller --- t/t9902-completion.sh | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 002223160058..a134a8791076 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -1288,6 +1288,69 @@ test_expect_success 'git switch - with --no-track, complete only local branch na EOF ' +# TODO: git switch completion does not yet support checking for -c, but it +# should be able to complete all possible references. Based on a quick +# examination of the switch/checkout code, -c will disable DWIM logic and thus +# we should not complete unique remote branch names with -c or -C either. +test_expect_failure 'git switch - with -c, complete all references' ' + test_completion "git switch -c new-branch " <<-\EOF + HEAD Z + master Z + matching-branch Z + matching-tag Z + other/branch-in-other Z + other/master-in-other Z + EOF +' + +test_expect_failure 'git switch - with -c, complete all references' ' + test_completion "git switch -C new-branch " <<-\EOF + HEAD Z + master Z + matching-branch Z + matching-tag Z + other/branch-in-other Z + other/master-in-other Z + EOF +' + +# TODO: ensure that the completion rules for -c override --track +test_expect_failure 'git switch - with -c and --track, complete all references' ' + test_completion "git switch -c new-branch --track " <<-EOF + HEAD Z + master Z + matching-branch Z + matching-tag Z + other/branch-in-other Z + other/master-in-other Z + EOF +' + +# TODO: git switch with -c and --no-track should allow creating a branch using +# any reference as a starting point. Because completion support does not +# recognize -c or -C, this doesn't work yet. +test_expect_failure 'git switch - with -c and --no-track, complete all references' ' + test_completion "git switch -c new-branch --no-track " <<-\EOF + HEAD Z + master Z + matching-branch Z + matching-tag Z + other/branch-in-other Z + other/master-in-other Z + EOF +' + +test_expect_failure 'git switch - with -C and --no-track, complete all references' ' + test_completion "git switch -C new-branch --no-track " <<-\EOF + HEAD Z + master Z + matching-branch Z + matching-tag Z + other/branch-in-other Z + other/master-in-other Z + EOF +' + test_expect_success 'teardown after ref completion' ' git branch -d matching-branch && git tag -d matching-tag &&