From 7951bd3029a849411181935f84600ddbcd97cd0c Mon Sep 17 00:00:00 2001 From: Pat Notz Date: Tue, 2 Nov 2010 13:59:12 -0600 Subject: [PATCH] add tests of commit --squash t7500: test expected behavior of commit --squash t3415: test interaction of commit --squash with rebase --autosquash t3900: test commit --squash with i18n encodings Signed-off-by: Pat Notz Signed-off-by: Junio C Hamano --- t/t3415-rebase-autosquash.sh | 4 +++ t/t3900-i18n-commit.sh | 2 ++ t/t7500-commit.sh | 47 ++++++++++++++++++++++++++++++++++++ t/t7500/edit-content | 4 +++ 4 files changed, 57 insertions(+) create mode 100755 t/t7500/edit-content diff --git a/t/t3415-rebase-autosquash.sh b/t/t3415-rebase-autosquash.sh index b77a413b1..0028533e0 100755 --- a/t/t3415-rebase-autosquash.sh +++ b/t/t3415-rebase-autosquash.sh @@ -115,4 +115,8 @@ test_expect_success 'use commit --fixup' ' test_auto_commit_flags fixup 1 ' +test_expect_success 'use commit --squash' ' + test_auto_commit_flags squash 2 +' + test_done diff --git a/t/t3900-i18n-commit.sh b/t/t3900-i18n-commit.sh index f4775ee28..c06a5ee76 100755 --- a/t/t3900-i18n-commit.sh +++ b/t/t3900-i18n-commit.sh @@ -160,4 +160,6 @@ test_commit_autosquash_flags () { test_commit_autosquash_flags eucJP fixup +test_commit_autosquash_flags ISO-2022-JP squash '-m "squash message"' + test_done diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh index a41b819f6..162527c21 100755 --- a/t/t7500-commit.sh +++ b/t/t7500-commit.sh @@ -238,10 +238,57 @@ test_expect_success 'commit --fixup provides correct one-line commit message' ' commit_msg_is "fixup! target message subject line" ' +test_expect_success 'commit --squash works with -F' ' + commit_for_rebase_autosquash_setup && + echo "log message from file" >msgfile && + git commit --squash HEAD~1 -F msgfile && + commit_msg_is "squash! target message subject linelog message from file" +' + +test_expect_success 'commit --squash works with -m' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD~1 -m "foo bar\nbaz" && + commit_msg_is "squash! target message subject linefoo bar\nbaz" +' + +test_expect_success 'commit --squash works with -C' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD~1 -C HEAD && + commit_msg_is "squash! target message subject lineintermediate commit" +' + +test_expect_success 'commit --squash works with -c' ' + commit_for_rebase_autosquash_setup && + test_set_editor "$TEST_DIRECTORY"/t7500/edit-content && + git commit --squash HEAD~1 -c HEAD && + commit_msg_is "squash! target message subject lineedited commit" +' + +test_expect_success 'commit --squash works with -C for same commit' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD -C HEAD && + commit_msg_is "squash! intermediate commit" +' + +test_expect_success 'commit --squash works with -c for same commit' ' + commit_for_rebase_autosquash_setup && + test_set_editor "$TEST_DIRECTORY"/t7500/edit-content && + git commit --squash HEAD -c HEAD && + commit_msg_is "squash! edited commit" +' + +test_expect_success 'commit --squash works with editor' ' + commit_for_rebase_autosquash_setup && + test_set_editor "$TEST_DIRECTORY"/t7500/add-content && + git commit --squash HEAD~1 && + commit_msg_is "squash! target message subject linecommit message" +' + test_expect_success 'invalid message options when using --fixup' ' echo changes >>foo && echo "message" >log && git add foo && + test_must_fail git commit --fixup HEAD~1 --squash HEAD~2 && test_must_fail git commit --fixup HEAD~1 -C HEAD~2 && test_must_fail git commit --fixup HEAD~1 -c HEAD~2 && test_must_fail git commit --fixup HEAD~1 -m "cmdline message" && diff --git a/t/t7500/edit-content b/t/t7500/edit-content new file mode 100755 index 000000000..08db9fdd2 --- /dev/null +++ b/t/t7500/edit-content @@ -0,0 +1,4 @@ +#!/bin/sh +sed -e "s/intermediate/edited/g" <"$1" >"$1-" +mv "$1-" "$1" +exit 0 -- 2.30.2