aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenton Liu <liu.denton@gmail.com>2019-04-24 15:46:59 -0700
committerJunio C Hamano <gitster@pobox.com>2019-04-25 11:31:49 +0900
commit57d93c1d2ce7deddf485e7c826278fef6815ec6b (patch)
treea4216b17336fa09c3a15325eafd452fcb6179aa3
parente9d309e2fcd4faaeee9d20ef2a46bf86a4847bd0 (diff)
downloadgit-57d93c1d2ce7deddf485e7c826278fef6815ec6b.tar.xz
t7610: add mergetool --gui tests
In 063f2bdbf7 (mergetool: accept -g/--[no-]gui as arguments, 2018-10-24), mergetool was taught the --gui option but no tests were added to ensure that it was working properly. Add a test to ensure that it works. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t7610-mergetool.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index 69711487dd..dad607e186 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -145,6 +145,28 @@ test_expect_success 'custom mergetool' '
git commit -m "branch1 resolved with mergetool"
'
+test_expect_success 'gui mergetool' '
+ test_config merge.guitool myguitool &&
+ test_config mergetool.myguitool.cmd "(printf \"gui \" && cat \"\$REMOTE\") >\"\$MERGED\"" &&
+ test_config mergetool.myguitool.trustExitCode true &&
+ test_when_finished "git reset --hard" &&
+ git checkout -b test$test_count branch1 &&
+ git submodule update -N &&
+ test_must_fail git merge master &&
+ ( yes "" | git mergetool --gui both ) &&
+ ( yes "" | git mergetool -g file1 file1 ) &&
+ ( yes "" | git mergetool --gui file2 "spaced name" ) &&
+ ( yes "" | git mergetool --gui subdir/file3 ) &&
+ ( yes "d" | git mergetool --gui file11 ) &&
+ ( yes "d" | git mergetool --gui file12 ) &&
+ ( yes "l" | git mergetool --gui submod ) &&
+ test "$(cat file1)" = "gui master updated" &&
+ test "$(cat file2)" = "gui master new" &&
+ test "$(cat subdir/file3)" = "gui master new sub" &&
+ test "$(cat submod/bar)" = "branch1 submodule" &&
+ git commit -m "branch1 resolved with mergetool"
+'
+
test_expect_success 'mergetool crlf' '
test_when_finished "git reset --hard" &&
# This test_config line must go after the above reset line so that