Merge branch 'jt/stash-tests'
Test update to improve coverage for "git stash" operations. * jt/stash-tests: stash: add a test for stashing in a detached state stash: add a test for when apply fails during stash branch stash: add a test for stash create with no files
This commit is contained in:
commit
f6a47f9b7a
@ -444,6 +444,14 @@ test_expect_failure 'stash file to directory' '
|
||||
test foo = "$(cat file/file)"
|
||||
'
|
||||
|
||||
test_expect_success 'stash create - no changes' '
|
||||
git stash clear &&
|
||||
test_when_finished "git reset --hard HEAD" &&
|
||||
git reset --hard &&
|
||||
git stash create >actual &&
|
||||
test_must_be_empty actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash branch - no stashes on stack, stash-like argument' '
|
||||
git stash clear &&
|
||||
test_when_finished "git reset --hard HEAD" &&
|
||||
@ -648,6 +656,20 @@ test_expect_success 'stash branch should not drop the stash if the branch exists
|
||||
git rev-parse stash@{0} --
|
||||
'
|
||||
|
||||
test_expect_success 'stash branch should not drop the stash if the apply fails' '
|
||||
git stash clear &&
|
||||
git reset HEAD~1 --hard &&
|
||||
echo foo >file &&
|
||||
git add file &&
|
||||
git commit -m initial &&
|
||||
echo bar >file &&
|
||||
git stash &&
|
||||
echo baz >file &&
|
||||
test_when_finished "git checkout master" &&
|
||||
test_must_fail git stash branch new_branch stash@{0} &&
|
||||
git rev-parse stash@{0} --
|
||||
'
|
||||
|
||||
test_expect_success 'stash apply shows status same as git status (relative to current directory)' '
|
||||
git stash clear &&
|
||||
echo 1 >subdir/subfile1 &&
|
||||
@ -800,6 +822,18 @@ test_expect_success 'create with multiple arguments for the message' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'create in a detached state' '
|
||||
test_when_finished "git checkout master" &&
|
||||
git checkout HEAD~1 &&
|
||||
>foo &&
|
||||
git add foo &&
|
||||
STASH_ID=$(git stash create) &&
|
||||
HEAD_ID=$(git rev-parse --short HEAD) &&
|
||||
echo "WIP on (no branch): ${HEAD_ID} initial" >expect &&
|
||||
git show --pretty=%s -s ${STASH_ID} >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash -- <pathspec> stashes and restores the file' '
|
||||
>foo &&
|
||||
>bar &&
|
||||
|
Loading…
Reference in New Issue
Block a user