[PATCHv2 2/4] t7500: add tests of commit --fixup
Signed-off-by: Pat Notz <patnotz@gmail.com>
---
t/t7500-commit.sh | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index aa9c577..7656ed4 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -215,4 +215,37 @@ test_expect_success 'Commit a message with --allow-empty-message' '
commit_msg_is "hello there"
'
+commit_for_rebase_autosquash_setup() {
+ echo "first content for testing commit messages for rebase --autosquash" >>foo &&
+ git add foo &&
+ cat >log <<EOF
+target message subject line
+
+target message body line 1
+target message body line 2
+EOF
+ git commit -F log &&
+ echo "second content for testing commit messages for rebase --autosquash" >>foo &&
+ git add foo &&
+ git commit -m "intermediate commit" &&
+ echo "third content for testing commit messages for rebase --autosquash" >>foo &&
+ git add foo
+}
+
+test_expect_success 'commit --fixup provides correct one-line commit message' '
+ commit_for_rebase_autosquash_setup &&
+ git commit --fixup HEAD~1 &&
+ commit_msg_is "fixup! target message subject line"
+'
+
+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 --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" &&
+ test_must_fail git commit --fixup HEAD~1 -F log
+'
+
test_done
--
1.7.3