summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Casey <drafnel@gmail.com>2008-03-02 20:58:51 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-03-03 09:20:59 (GMT)
commitb683c08082d73484596dcf1236449228d4a9eb98 (patch)
tree2ad9a54c735bf2d6330cb7888c45044238229f77
parentcf2756ae19e04a7c465ee7bb3b9b8ed4f7e45f28 (diff)
downloadgit-b683c08082d73484596dcf1236449228d4a9eb98.zip
git-b683c08082d73484596dcf1236449228d4a9eb98.tar.gz
git-b683c08082d73484596dcf1236449228d4a9eb98.tar.bz2
t3903-stash.sh: Add tests for new stash commands drop and pop
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t3903-stash.sh46
1 files changed, 45 insertions, 1 deletions
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index f24a4e8..aa282e1 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -70,7 +70,51 @@ test_expect_success 'unstashing in a subdirectory' '
git reset --hard HEAD &&
mkdir subdir &&
cd subdir &&
- git stash apply
+ git stash apply &&
+ cd ..
+'
+
+test_expect_success 'drop top stash' '
+ git reset --hard &&
+ git stash list > stashlist1 &&
+ echo 7 > file &&
+ git stash &&
+ git stash drop &&
+ git stash list > stashlist2 &&
+ diff stashlist1 stashlist2 &&
+ git stash apply &&
+ test 3 = $(cat file) &&
+ test 1 = $(git show :file) &&
+ test 1 = $(git show HEAD:file)
+'
+
+test_expect_success 'drop middle stash' '
+ git reset --hard &&
+ echo 8 > file &&
+ git stash &&
+ echo 9 > file &&
+ git stash &&
+ git stash drop stash@{1} &&
+ test 2 = $(git stash list | wc -l) &&
+ git stash apply &&
+ test 9 = $(cat file) &&
+ test 1 = $(git show :file) &&
+ test 1 = $(git show HEAD:file) &&
+ git reset --hard &&
+ git stash drop &&
+ git stash apply &&
+ test 3 = $(cat file) &&
+ test 1 = $(git show :file) &&
+ test 1 = $(git show HEAD:file)
+'
+
+test_expect_success 'stash pop' '
+ git reset --hard &&
+ git stash pop &&
+ test 3 = $(cat file) &&
+ test 1 = $(git show :file) &&
+ test 1 = $(git show HEAD:file) &&
+ test 0 = $(git stash list | wc -l)
'
test_done