| unset LANG |
| unset LANGUAGE |
| unset LC_TIME |
| unset LC_ALL |
| |
| dt=`busybox date -d 1:2 +%T` |
| test x"$dt" = x"01:02:00" |
| |
| dt=`busybox date -d 1:2:3 +%T` |
| test x"$dt" = x"01:02:03" |
| |
| host_date=/bin/date |
| |
| # date (GNU coreutils) 6.10 reports: |
| # date: invalid date '1.2-3:4' |
| # busybox 1.11.0.svn date reports: |
| # date: invalid date '1/2 3:4' |
| |
| # TODO: (1) compare with strings, not "host date" |
| # (2) implement d/m[/y] hh:mm[:ss] fmt in date applet |
| #hdt=`$host_date -d '1/2 3:4'` |
| #dt=`busybox date -d 1.2-3:4` |
| #test x"$hdt" = x"$dt" |
| |
| #hdt=`$host_date -d '1/2 3:4:5'` |
| #dt=`busybox date -d 1.2-3:4:5` |
| #test x"$hdt" = x"$dt" |
| |
| #hdt=`$host_date -d '1/2/1999 3:4'` |
| #dt=`busybox date -d 1999.1.2-3:4` |
| #test x"$hdt" = x"$dt" |
| |
| #hdt=`$host_date -d '1/2/1999 3:4:5'` |
| #dt=`busybox date -d 1999.1.2-3:4:5` |
| #test x"$hdt" = x"$dt" |
| |
| hdt=`$host_date -d '1999-1-2 3:4:5'` |
| dt=`busybox date -d '1999-1-2 3:4:5'` |
| test x"$hdt" = x"$dt" |
| |
| # Avoiding using week day in this evaluation, as it's mostly different every year |
| # date (GNU coreutils) 6.10 reports: |
| # date: invalid date '01231133' |
| #dt=`busybox date -d 01231133 +%c` |
| #dt=`echo "$dt" | cut -b5-19` |
| #test x"$dt" = x"Jan 23 11:33:00" |
| |
| # date (GNU coreutils) 6.10 reports: |
| # date: invalid date '012311332000' |
| dt=`busybox date -d 200001231133 +%c` |
| test x"$dt" = x"Sun Jan 23 11:33:00 2000" |
| |
| # date (GNU coreutils) 6.10 reports: |
| # date: invalid date '012311332000' |
| dt=`busybox date -d 200001231133.30 +%c` |
| test x"$dt" = x"Sun Jan 23 11:33:30 2000" |
| |
| lcbbd="LC_ALL=C busybox date" |
| wd=$(eval $lcbbd +%a) # weekday name |
| mn=$(eval $lcbbd +%b) # month name |
| dm=$(eval $lcbbd +%e) # day of month, space padded |
| h=$(eval $lcbbd +%H) # hour, zero padded |
| m=$(eval $lcbbd +%M) # minute, zero padded |
| s=$(eval $lcbbd +%S) # second, zero padded |
| z=$(eval $lcbbd -u +%Z) # time zone abbreviation |
| y=$(eval $lcbbd +%Y) # year |
| |
| res=OK |
| case $wd in |
| Sun) |
| ;; |
| Mon) |
| ;; |
| Tue) |
| ;; |
| Wed) |
| ;; |
| Thu) |
| ;; |
| Fri) |
| ;; |
| Sat) |
| ;; |
| *) |
| res=BAD |
| ;; |
| esac |
| |
| case $mn in |
| Jan) |
| ;; |
| Feb) |
| ;; |
| Mar) |
| ;; |
| Apr) |
| ;; |
| May) |
| ;; |
| Jun) |
| ;; |
| Jul) |
| ;; |
| Aug) |
| ;; |
| Sep) |
| ;; |
| Oct) |
| ;; |
| Nov) |
| ;; |
| Dec) |
| ;; |
| *) |
| res=BAD |
| ;; |
| esac |
| |
| dm=${dm# *} |
| [ $dm -ge 1 ] && [ $dm -le 31 ] || res=BAD |
| h=${h#0} |
| [ $h -ge 0 ] && [ $h -le 23 ] || res=BAD |
| m=${m#0} |
| [ $m -ge 0 ] && [ $m -le 59 ] || res=BAD |
| s=${s#0} |
| [ $s -ge 0 ] && [ $s -le 59 ] || res=BAD |
| [ $z = UTC ] || res=BAD |
| [ $y -ge 1970 ] || res=BAD |
| |
| test x"$res" = xOK |
| |
| # This should error out (by showing usage text). Testing for that |
| dt=`busybox date -d 012311332000.30 %+c 2>&1 | head -n 1` |
| test x"${dt##BusyBox * multi-call binary*}" = x"" |