summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-01-30 22:24:22 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-01-30 22:24:22 (GMT)
commit4ac326f64f19037d25994b947e29268ae0e39e75 (patch)
tree7f1dbe35539a4cfae9d104d9b5da11a1e13ad82e /t
parent06f2b5fb70747413c1892263bacf602d0fbcc2fa (diff)
parent540e7bc477fc9bc491221075c0fade0722e63945 (diff)
downloadgit-4ac326f64f19037d25994b947e29268ae0e39e75.zip
git-4ac326f64f19037d25994b947e29268ae0e39e75.tar.gz
git-4ac326f64f19037d25994b947e29268ae0e39e75.tar.bz2
Merge branch 'po/pretty-format-columns-doc'
Clarify column-padding operators in the pretty format string. * po/pretty-format-columns-doc: doc: pretty-formats note wide char limitations, and add tests doc: pretty-formats describe use of ellipsis in truncation doc: pretty-formats document negative column alignments doc: pretty-formats: delineate `%<|(` parameter values doc: pretty-formats: separate parameters from placeholders
Diffstat (limited to 't')
-rwxr-xr-xt/t4205-log-pretty-formats.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index 3e7ad9d..4cf8a77 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -1094,4 +1094,31 @@ test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit mes
test_cmp expect error
'
+# pretty-formats note wide char limitations, and add tests
+test_expect_failure 'wide and decomposed characters column counting' '
+
+# from t/lib-unicode-nfc-nfd.sh hex values converted to octal
+ utf8_nfc=$(printf "\303\251") && # e acute combined.
+ utf8_nfd=$(printf "\145\314\201") && # e with a combining acute (i.e. decomposed)
+ utf8_emoji=$(printf "\360\237\221\250") &&
+
+# replacement character when requesting a wide char fits in a single display colum.
+# "half wide" alternative could be a plain ASCII dot `.`
+ utf8_vert_ell=$(printf "\342\213\256") &&
+
+# use ${xxx} here!
+ nfc10="${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}${utf8_nfc}" &&
+ nfd10="${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}${utf8_nfd}" &&
+ emoji5="${utf8_emoji}${utf8_emoji}${utf8_emoji}${utf8_emoji}${utf8_emoji}" &&
+# emoji5 uses 10 display columns
+
+ test_commit "abcdefghij" &&
+ test_commit --no-tag "${nfc10}" &&
+ test_commit --no-tag "${nfd10}" &&
+ test_commit --no-tag "${emoji5}" &&
+ printf "${utf8_emoji}..${utf8_emoji}${utf8_vert_ell}\n${utf8_nfd}..${utf8_nfd}${utf8_nfd}\n${utf8_nfc}..${utf8_nfc}${utf8_nfc}\na..ij\n" >expected &&
+ git log --format="%<(5,mtrunc)%s" -4 >actual &&
+ test_cmp expected actual
+'
+
test_done