zsh-workers
 help / color / mirror / code / Atom feed
3fee49e1d319b6dbc68428191a712532bb1bef32 blob 3273 bytes (raw)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
%prep

  if zmodload zsh/datetime 2>/dev/null; then
    setopt multibyte
    unset LC_ALL
    LC_TIME=C
    TZ=UTC+0
    # 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 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
>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
      # width=400 is too wide and should cause an error
      strftime %400d 0 2> /dev/null || echo OK
    )
  fi
0:various extensions
>THURSDAY
>   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

# This test may fail at 23:59:59.xxx on New Year's Eve :/
  [[ "$( strftime '%Y' )" == "$( strftime '%Y' "$EPOCHSECONDS" )" ]]
0:epochtime optional

  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322
  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 0
  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 2
  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 $(( 222 * (10 ** 6) ))
0:optional nanoseconds
>2002-02-02 02:02:02.000
>2002-02-02 02:02:02.000
>2002-02-02 02:02:02.000
>2002-02-02 02:02:02.222

  strftime '%Y' '' 2> /dev/null
1:empty epochtime not allowed

  strftime '%Y' 1012615322 '' 2> /dev/null
1:empty nanoseconds not allowed

  strftime '%N' 1012615322 $(( 10 ** 9 )) 2> /dev/null
1:too-large nanoseconds not allowed

  strftime '%N' 1012615322 ${(l<64><9>):-} 2> /dev/null
1:overflowed nanoseconds not allowed

  strftime '%N' 1012615322 -1 2> /dev/null
1:negative nanoseconds not allowed

  strftime -r '%Y' 2> /dev/null
1:-r timestring not optional

  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 $(( 999_999 ))
  for 1 in %. %1. %3. %6. %9. %12.; do
    print -rn - "$1 "
    strftime "%Y-%m-%d %H:%M:%S.$1" 1012615322 $(( 999_999_999 ))
  done
0:%. truncation
>2002-02-02 02:02:02.001
>%. 2002-02-02 02:02:02.999
>%1. 2002-02-02 02:02:02.9
>%3. 2002-02-02 02:02:02.999
>%6. 2002-02-02 02:02:02.999999
>%9. 2002-02-02 02:02:02.999999999
>%12. 2002-02-02 02:02:02.999999999
debug log:

solving 3fee49e1d ...
found 3fee49e1d in https://inbox.vuxu.org/zsh-workers/4E316F0B-5606-4E93-8988-28A5444612E6@dana.is/ ||
	https://inbox.vuxu.org/zsh-workers/EEC2E28C-7B10-4848-9C54-3F2B6261FBF7@dana.is/
found 2041d9b40 in https://git.vuxu.org/mirror/zsh/
preparing index
index prepared:
100644 2041d9b400075d3d77622aff3a8cf4402ae6520f	Test/V09datetime.ztst

applying [1/2] https://inbox.vuxu.org/zsh-workers/4E316F0B-5606-4E93-8988-28A5444612E6@dana.is/
diff --git a/Test/V09datetime.ztst b/Test/V09datetime.ztst
index 2041d9b40..3fee49e1d 100644

Checking patch Test/V09datetime.ztst...
Applied patch Test/V09datetime.ztst cleanly.

skipping https://inbox.vuxu.org/zsh-workers/EEC2E28C-7B10-4848-9C54-3F2B6261FBF7@dana.is/ for 3fee49e1d
index at:
100644 3fee49e1d319b6dbc68428191a712532bb1bef32	Test/V09datetime.ztst

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).