Browse Source

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 <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Pat Notz 14 years ago committed by Junio C Hamano
parent
commit
7951bd3029
  1. 4
      t/t3415-rebase-autosquash.sh
  2. 2
      t/t3900-i18n-commit.sh
  3. 47
      t/t7500-commit.sh
  4. 4
      t/t7500/edit-content

4
t/t3415-rebase-autosquash.sh

@ -115,4 +115,8 @@ test_expect_success 'use commit --fixup' ' @@ -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

2
t/t3900-i18n-commit.sh

@ -160,4 +160,6 @@ test_commit_autosquash_flags () { @@ -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

47
t/t7500-commit.sh

@ -238,10 +238,57 @@ test_expect_success 'commit --fixup provides correct one-line commit message' ' @@ -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" &&

4
t/t7500/edit-content

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
#!/bin/sh
sed -e "s/intermediate/edited/g" <"$1" >"$1-"
mv "$1-" "$1"
exit 0
Loading…
Cancel
Save