summary refs log tree commit diff
diff options
context:
space:
mode:
authorJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2017-03-12 21:04:22 +0900
committerJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2017-03-12 21:04:22 +0900
commit2ff71e84ba6e2b92261b7052721e15ce35c496ca (patch)
treee96f243bb72ba5975805eedff8f9715cf407c389
parent420fc41b7cccab7f1ee07abab2cb7c72501cf91e (diff)
downloadzsh-2ff71e84ba6e2b92261b7052721e15ce35c496ca.tar.gz
zsh-2ff71e84ba6e2b92261b7052721e15ce35c496ca.tar.xz
zsh-2ff71e84ba6e2b92261b7052721e15ce35c496ca.zip
40820: add a few tests of strftime, related to 40681
-rw-r--r--ChangeLog5
-rw-r--r--Test/V09datetime.ztst14
2 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9744a1ee7..5bcd69961 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-12  Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
+
+	* 40820: Test/V09datetime.ztst: add a few tests of strftime,
+	related to 40681
+
 2017-03-11  Barton E. Schaefer  <schaefer@zsh.org>
 
 	* 40832: Src/subst.c: fix $x:P when PWD=/
diff --git a/Test/V09datetime.ztst b/Test/V09datetime.ztst
index 7905155d8..ffad96c04 100644
--- a/Test/V09datetime.ztst
+++ b/Test/V09datetime.ztst
@@ -8,19 +8,21 @@
     # It's not clear this skip_extensions is correct, but the
     # format in question is causing problems on Solaris.
     # We'll revist this after the release.
-    [[ "$(strftime %^_10B 0)" = "   JANUARY" ]] || skip_extensions=1
-    [[ "$(LC_TIME=ja_JP.UTF-8 strftime %OS 1)" = 一 ]] || skip_japanese=1
+    [[ "$(strftime %^_10B 0 2>/dev/null)" = "   JANUARY" ]] || skip_extensions=1
+    [[ "$(LC_TIME=ja_JP.UTF-8 strftime %OS 1 2>/dev/null)" = 一 ]] || skip_japanese=1
   else
     ZTST_unimplemented="can't load the zsh/datetime module for testing"
   fi
 
 %test
 
+  strftime '' 0
   strftime %y 0
   strftime %Y 1000000000
   strftime %x 1200000000
   strftime %X 1200000001
 0:basic format specifiers
+>
 >70
 >2001
 >01/10/08
@@ -61,6 +63,8 @@
       strftime '%^_10B' 0
       strftime %03Ey 650000000
       strftime %-Oe 0
+      # width=400 is too wide and should cause an error
+      strftime %400d 0 2> /dev/null || echo OK
     )
   fi
 0:various extensions
@@ -68,7 +72,13 @@
 >   JANUARY
 >090
 >1
+>OK
 
   print -r -- ${(V)"$(strftime $'%Y\0%m\0%d' 100000000)"}
 0:Embedded nulls
 >1973^@03^@03
+
+# We assume '%@' is not a valid format on any OSs.
+# The result can be '%@' (Linux), '@' (BSDs) or an error (Cygwin).
+  [[ $(strftime '%@' 0 2> /dev/null) == (%|)@ || $? != 0 ]]
+0:bad format specifier