about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2022-03-30 10:40:34 +0900
committerJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2022-03-30 10:40:34 +0900
commit596b8e3faefe9e245b45198ae42296d3b0070f5f (patch)
treedfa9fb7921aea5317e1a152585c7fc0b1bc9eb03 /Test
parent6617f192348f6ce71fd4ee16e55e9dc78927c520 (diff)
downloadzsh-596b8e3faefe9e245b45198ae42296d3b0070f5f.tar.gz
zsh-596b8e3faefe9e245b45198ae42296d3b0070f5f.tar.xz
zsh-596b8e3faefe9e245b45198ae42296d3b0070f5f.zip
49910: move multibyte-related f-flagged test from E03 to D07
POSIX requires printf should calculate width/precision in %s conversion
in bytes (not in characters) even in multibyte locale
Diffstat (limited to 'Test')
-rw-r--r--Test/D07multibyte.ztst12
-rw-r--r--Test/E03posix.ztst5
2 files changed, 12 insertions, 5 deletions
diff --git a/Test/D07multibyte.ztst b/Test/D07multibyte.ztst
index 7f046525a..cbd802f23 100644
--- a/Test/D07multibyte.ztst
+++ b/Test/D07multibyte.ztst
@@ -347,6 +347,18 @@
 0:Multibyte characters in printf widths
 > főo
 
+# TODO?: POSIX requires that printf should always compute width and
+# precision of '%s' conversion in bytes, while zsh computes them in
+# characters if multi-byte locale is in use.
+  ARGV0=sh $ZTST_testdir/../Src/zsh -c "printf '<%10s>\n' St$'\M-C\M-)'phane"
+0f:POSIX: width in %s should be computed in bytes, not in characters
+F:This is considered a bugfix in zsh
+>< Stéphane>
+
+  ARGV0=sh $ZTST_testdir/../Src/zsh -c "printf '<%7.5s>\n' St$'\M-C\M-)'phane"
+0f:POSIX: precision should also be computed in bytes, not in characers
+><  Stép>
+
 # We ask for case-insensitive sorting here (and supply upper case
 # characters) so that we exercise the logic in the shell that lowers the
 # case of the string for case-insensitive sorting.
diff --git a/Test/E03posix.ztst b/Test/E03posix.ztst
index b191199ad..caab97ab6 100644
--- a/Test/E03posix.ztst
+++ b/Test/E03posix.ztst
@@ -157,10 +157,5 @@ F:POSIX has neither math functions nor floating point
 -f:EUID is not a special variable
 >10
 
-  ARGV0=sh $ZTST_testdir/../Src/zsh -c "printf '<%10s>\n' St$'\M-C\M-)'phane"
-0f:Width of %s is computed in bytes not characters
-F:This is considered a bugfix in zsh
-><  Stéphane>
-
   PPID=foo
 -f:PPID is not a readonly variable