aboutsummaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-09-25 19:19:15 +0200
committerMattias Andrée <m@maandree.se>2026-09-25 19:19:15 +0200
commit7c19d0103e46c9e59b512095693491a4093a13f3 (patch)
tree85a9cd750a1fa317b6d3866add9d546c7df44b56 /t
parentAdd --symmetric (diff)
downloadgit-rediff-eedff41d3cc0347670eedb6ff0781c1138a23ce1.tar.gz
git-rediff-eedff41d3cc0347670eedb6ff0781c1138a23ce1.tar.bz2
git-rediff-eedff41d3cc0347670eedb6ff0781c1138a23ce1.tar.xz
Add support for combining --merge and --symmetricHEAD1.3master
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 't')
-rwxr-xr-xt/all-positive-options-merge-symmetric (renamed from t/all-positive-options-merge)2
-rwxr-xr-xt/all-positive-options-symmetric23
-rwxr-xr-xt/combination-merge-symmetric26
-rwxr-xr-xt/combination-symmetric-merge26
-rwxr-xr-xt/invalid-option-combinations112
5 files changed, 105 insertions, 84 deletions
diff --git a/t/all-positive-options-merge b/t/all-positive-options-merge-symmetric
index eeb21d0..03d3879 100755
--- a/t/all-positive-options-merge
+++ b/t/all-positive-options-merge-symmetric
@@ -19,5 +19,5 @@ printf '%s\n' > file.expected \
ours
printf '%s' h > input
-normal --merge --remove-base --reduce --interactive file 8<input 9>output
+normal --merge --symmetric --remove-base --reduce --interactive file 8<input 9>output
test -s output
diff --git a/t/all-positive-options-symmetric b/t/all-positive-options-symmetric
deleted file mode 100755
index eb53cb9..0000000
--- a/t/all-positive-options-symmetric
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh -e
-. t/common.sh
-interactive
-
-printf '%s\n' > file \
- "${HEAD} ours" \
- same \
- ours \
- "${PARENT} base" \
- same \
- base \
- "${TAIL}" \
- same \
- theirs \
- "${END} theirs"
-
-printf '%s\n' > file.expected \
- same \
- ours
-
-printf '%s' h > input
-normal --symmetric --remove-base --reduce --interactive file 8<input 9>output
-test -s output
diff --git a/t/combination-merge-symmetric b/t/combination-merge-symmetric
new file mode 100755
index 0000000..40e2adc
--- /dev/null
+++ b/t/combination-merge-symmetric
@@ -0,0 +1,26 @@
+#!/bin/sh -e
+. t/common.sh
+
+printf '%s\n' > file \
+ "${HEAD} 1" \
+ old-1 \
+ "${PARENT} 1" \
+ old-1 \
+ "${TAIL} 1" \
+ new-1 \
+ "${END} 1" \
+ "${HEAD} 2" \
+ new-2 \
+ "${PARENT} 2" \
+ old-2 \
+ "${TAIL} 2" \
+ new-2 \
+ "${END} 2"
+
+printf '%s\n' > file.expected \
+ new-1 \
+ new-2
+
+normal --merge --symmetric --no-reduce file
+
+also_interactive my
diff --git a/t/combination-symmetric-merge b/t/combination-symmetric-merge
new file mode 100755
index 0000000..4d2c1a2
--- /dev/null
+++ b/t/combination-symmetric-merge
@@ -0,0 +1,26 @@
+#!/bin/sh -e
+. t/common.sh
+
+printf '%s\n' > file \
+ "${HEAD} 1" \
+ old-1 \
+ "${PARENT} 1" \
+ old-1 \
+ "${TAIL} 1" \
+ new-1 \
+ "${END} 1" \
+ "${HEAD} 2" \
+ new-2 \
+ "${PARENT} 2" \
+ old-2 \
+ "${TAIL} 2" \
+ new-2 \
+ "${END} 2"
+
+printf '%s\n' > file.expected \
+ new-1 \
+ new-2
+
+normal --symmetric --merge --no-reduce file
+
+also_interactive my
diff --git a/t/invalid-option-combinations b/t/invalid-option-combinations
index 1a75005..3a84384 100755
--- a/t/invalid-option-combinations
+++ b/t/invalid-option-combinations
@@ -4,66 +4,58 @@
printf '%s\n' text > file
cp -- file file.expected
-error --merge --select-head file
-error --select-head --merge file
-error --merge --select-tail file
-error --select-tail --merge file
-error --select-head --select-tail file
-error --select-tail --select-head file
-error --merge --select-head --select-tail file
-error --merge --select-tail --select-head file
-error --select-head --merge --select-tail file
-error --select-head --select-tail --merge file
-error --select-tail --merge --select-head file
-error --select-tail --select-head --merge file
-error --symmetric --merge file
-error --merge --symmetric file
-error --symmetric --select-head file
-error --select-head --symmetric file
-error --symmetric --select-tail file
-error --select-tail --symmetric file
-error --symmetric --merge --select-head file
-error --symmetric --select-head --merge file
-error --symmetric --merge --select-tail file
-error --symmetric --select-tail --merge file
-error --symmetric --select-head --select-tail file
-error --symmetric --select-tail --select-head file
-error --merge --symmetric --select-head file
-error --select-head --symmetric --merge file
-error --merge --symmetric --select-tail file
-error --select-tail --symmetric --merge file
-error --select-head --symmetric --select-tail file
-error --select-tail --symmetric --select-head file
-error --merge --select-head --symmetric file
-error --select-head --merge --symmetric file
-error --merge --select-tail --symmetric file
-error --select-tail --merge --symmetric file
-error --select-head --select-tail --symmetric file
-error --select-tail --select-head --symmetric file
-error --symmetric --merge --select-head --select-tail file
-error --symmetric --merge --select-tail --select-head file
-error --symmetric --select-head --merge --select-tail file
-error --symmetric --select-head --select-tail --merge file
-error --symmetric --select-tail --merge --select-head file
-error --symmetric --select-tail --select-head --merge file
-error --merge --symmetric --select-head --select-tail file
-error --merge --symmetric --select-tail --select-head file
-error --select-head --symmetric --merge --select-tail file
-error --select-head --symmetric --select-tail --merge file
-error --select-tail --symmetric --merge --select-head file
-error --select-tail --symmetric --select-head --merge file
-error --merge --select-head --symmetric --select-tail file
-error --merge --select-tail --symmetric --select-head file
-error --select-head --merge --symmetric --select-tail file
-error --select-head --select-tail --symmetric --merge file
-error --select-tail --merge --symmetric --select-head file
-error --select-tail --select-head --symmetric --merge file
-error --merge --select-head --select-tail --symmetric file
-error --merge --select-tail --select-head --symmetric file
-error --select-head --merge --select-tail --symmetric file
-error --select-head --select-tail --merge --symmetric file
-error --select-tail --merge --select-head --symmetric file
-error --select-tail --select-head --merge --symmetric file
+all_permutations () {
+ if test $# = 2; then
+ error "$1" "$2" file
+ error "$2" "$1" file
+ elif test $# = 3; then
+ error "$1" "$2" "$3" file
+ error "$1" "$3" "$2" file
+ error "$2" "$1" "$3" file
+ error "$2" "$3" "$1" file
+ error "$3" "$1" "$2" file
+ error "$3" "$2" "$1" file
+ elif test $# = 4; then
+ error "$1" "$2" "$3" "$4" file
+ error "$1" "$2" "$4" "$3" file
+ error "$1" "$3" "$2" "$4" file
+ error "$1" "$3" "$4" "$2" file
+ error "$1" "$4" "$2" "$3" file
+ error "$1" "$4" "$3" "$2" file
+ error "$2" "$1" "$3" "$4" file
+ error "$2" "$1" "$4" "$3" file
+ error "$2" "$3" "$1" "$4" file
+ error "$2" "$3" "$4" "$1" file
+ error "$2" "$4" "$1" "$3" file
+ error "$2" "$4" "$3" "$1" file
+ error "$3" "$1" "$2" "$4" file
+ error "$3" "$1" "$4" "$2" file
+ error "$3" "$2" "$1" "$4" file
+ error "$3" "$2" "$4" "$1" file
+ error "$3" "$4" "$1" "$2" file
+ error "$3" "$4" "$2" "$1" file
+ error "$4" "$1" "$2" "$3" file
+ error "$4" "$1" "$3" "$2" file
+ error "$4" "$2" "$1" "$3" file
+ error "$4" "$2" "$3" "$1" file
+ error "$4" "$3" "$1" "$2" file
+ error "$4" "$3" "$2" "$1" file
+ else
+ printf 'Error in test case: all_permutations was given %s arguments\n' "$#" >&2
+ exit 99;
+ fi
+}
+
+all_permutations --select-head --select-tail
+all_permutations --merge --select-head
+all_permutations --merge --select-tail
+all_permutations --merge --select-head --select-tail
+all_permutations --symmetric --select-head
+all_permutations --symmetric --select-tail
+all_permutations --symmetric --select-head --select-tail
+all_permutations --merge --symmetric --select-head
+all_permutations --merge --symmetric --select-tail
+all_permutations --merge --symmetric --select-head --select-tail
error --unknown-option file
error '-$' file