1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-11-30 03:50:56 +01:00
zsh/Test/V09datetime.ztst
Peter Stephenson 8ed6bc0a85 36241: Test for ztrftime fix, 36227 / f8164fb6.
Check that embedded null characters get passed correctly through
the strftime module builtin.
2015-08-19 11:13:31 +01:00

71 lines
1.4 KiB
Text

%prep
if ! (zmodload zsh/datetime >/dev/null 2>/dev/null); then
ZTST_unimplemented="can't load the zsh/datetime module for testing"
fi
setopt multibyte
zmodload zsh/datetime
unset LC_ALL
LC_TIME=C
TZ=UTC+0
[[ "$(strftime %04y 1)" = "0070" ]] || skip_extensions=1
[[ "$(LC_TIME=ja_JP.UTF-8 strftime %OS 1)" = 一 ]] || skip_japanese=1
%test
strftime %y 0
strftime %Y 1000000000
strftime %x 1200000000
strftime %X 1200000001
0:basic format specifiers
>70
>2001
>01/10/08
>21:20:01
strftime %-m_%f_%K_%L 1181100000
strftime %6. 0
0:zsh extensions
>6_6_3_3
>000000
if [[ $skip_extensions = 1 ]]; then
ZTST_skip="strftime extensions not supported"
elif [[ $skip_japanese = 1 ]]; then
ZTST_skip="Japanese UTF-8 locale not supported"
else
(
LC_TIME=ja_JP.UTF-8
strftime %Ey 1000000000
strftime %Oy 1000000000
strftime %Ex 1000000000
strftime %OS 1000000000
strftime %03Ey 650000000
)
fi
0:alternate format extensions
>13
>一
>平成13年09月09日
>四十
>002
if [[ $skip_extensions = 1 ]]; then
ZTST_skip="strftime extensions not supported"
else
(
strftime '%#A' 0
strftime '%^_10B' 0
strftime %03Ey 650000000
strftime %-Oe 0
)
fi
0:various extensions
>THURSDAY
> JANUARY
>090
>1
print ${(V)"$(strftime $'%Y\0%m\0%d' 100000000)"}
0:Embedded nulls
>1973^@03^@03