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 filesmaint
commit
f6a47f9b7a
|
@ -444,6 +444,14 @@ test_expect_failure 'stash file to directory' '
|
||||||
test foo = "$(cat file/file)"
|
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' '
|
test_expect_success 'stash branch - no stashes on stack, stash-like argument' '
|
||||||
git stash clear &&
|
git stash clear &&
|
||||||
test_when_finished "git reset --hard HEAD" &&
|
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} --
|
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)' '
|
test_expect_success 'stash apply shows status same as git status (relative to current directory)' '
|
||||||
git stash clear &&
|
git stash clear &&
|
||||||
echo 1 >subdir/subfile1 &&
|
echo 1 >subdir/subfile1 &&
|
||||||
|
@ -800,6 +822,18 @@ test_expect_success 'create with multiple arguments for the message' '
|
||||||
test_cmp expect actual
|
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' '
|
test_expect_success 'stash -- <pathspec> stashes and restores the file' '
|
||||||
>foo &&
|
>foo &&
|
||||||
>bar &&
|
>bar &&
|
||||||
|
|
Loading…
Reference in New Issue