diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-02-13 11:42:07 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-13 11:42:07 -0800 |
commit | 8eb865ba8a24aad5380a23fc1e331aba2f7c5bbb (patch) | |
tree | c995cd1c09a8faed705a3fcf5f77a5b47a5533f2 /t | |
parent | Merge branch 'jn/rpm-spec' into maint (diff) | |
parent | branch --edit-description: protect against mistyped branch name (diff) | |
download | tgif-8eb865ba8a24aad5380a23fc1e331aba2f7c5bbb.tar.xz |
Merge branch 'jc/branch-desc-typoavoidance' into maint
* jc/branch-desc-typoavoidance:
branch --edit-description: protect against mistyped branch name
tests: add write_script helper function
Diffstat (limited to 't')
-rwxr-xr-x | t/t3200-branch.sh | 41 | ||||
-rw-r--r-- | t/test-lib.sh | 9 |
2 files changed, 46 insertions, 4 deletions
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index ea82424e47..dd1acebd88 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -3,11 +3,8 @@ # Copyright (c) 2005 Amos Waterland # -test_description='git branch --foo should not create bogus branch +test_description='git branch assorted tests' -This test runs git branch --help and checks that the argument is properly -handled. Specifically, that a bogus branch is not created. -' . ./test-lib.sh test_expect_success \ @@ -620,4 +617,40 @@ test_expect_success 'use set-upstream on the current branch' ' ' +test_expect_success 'use --edit-description' ' + write_script editor <<-\EOF && + echo "New contents" >"$1" + EOF + EDITOR=./editor git branch --edit-description && + write_script editor <<-\EOF && + git stripspace -s <"$1" >"EDITOR_OUTPUT" + EOF + EDITOR=./editor git branch --edit-description && + echo "New contents" >expect && + test_cmp EDITOR_OUTPUT expect +' + +test_expect_success 'detect typo in branch name when using --edit-description' ' + write_script editor <<-\EOF && + echo "New contents" >"$1" + EOF + ( + EDITOR=./editor && + export EDITOR && + test_must_fail git branch --edit-description no-such-branch + ) +' + +test_expect_success 'refuse --edit-description on unborn branch for now' ' + write_script editor <<-\EOF && + echo "New contents" >"$1" + EOF + git checkout --orphan unborn && + ( + EDITOR=./editor && + export EDITOR && + test_must_fail git branch --edit-description + ) +' + test_done diff --git a/t/test-lib.sh b/t/test-lib.sh index a65dfc7ea9..a089a18864 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -381,11 +381,20 @@ test_config () { git config "$@" } + test_config_global () { test_when_finished "test_unconfig --global '$1'" && git config --global "$@" } +write_script () { + { + echo "#!${2-"$SHELL_PATH"}" && + cat + } >"$1" && + chmod +x "$1" +} + # Use test_set_prereq to tell that a particular prerequisite is available. # The prerequisite can later be checked for in two ways: # |