diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-04-09 18:44:13 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-04-09 18:44:13 -0300 |
commit | 0f028b9008097f00aa3953a3425c72e7ae2b4c98 (patch) | |
tree | c8d436c245b8e746daa1108ee93a9c991faa0b7d | |
parent | 65d1aa7a779b30bf5b0e7b968b3980b702b08b2c (diff) | |
download | lua-0f028b9008097f00aa3953a3425c72e7ae2b4c98.tar.gz lua-0f028b9008097f00aa3953a3425c72e7ae2b4c98.tar.bz2 lua-0f028b9008097f00aa3953a3425c72e7ae2b4c98.zip |
Corrected tests around non-portable 'isdst' in dates
The field 'isdst' in date tables may not be present; portable tests
should not assume it is.
-rw-r--r-- | testes/files.lua | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/testes/files.lua b/testes/files.lua index 34fcf851..0a05cf60 100644 --- a/testes/files.lua +++ b/testes/files.lua | |||
@@ -777,7 +777,7 @@ local t = os.time() | |||
777 | D = os.date("*t", t) | 777 | D = os.date("*t", t) |
778 | load(os.date([[assert(D.year==%Y and D.month==%m and D.day==%d and | 778 | load(os.date([[assert(D.year==%Y and D.month==%m and D.day==%d and |
779 | D.hour==%H and D.min==%M and D.sec==%S and | 779 | D.hour==%H and D.min==%M and D.sec==%S and |
780 | D.wday==%w+1 and D.yday==%j and type(D.isdst) == 'boolean')]], t))() | 780 | D.wday==%w+1 and D.yday==%j)]], t))() |
781 | 781 | ||
782 | checkerr("invalid conversion specifier", os.date, "%") | 782 | checkerr("invalid conversion specifier", os.date, "%") |
783 | checkerr("invalid conversion specifier", os.date, "%9") | 783 | checkerr("invalid conversion specifier", os.date, "%9") |
@@ -827,12 +827,16 @@ end | |||
827 | D = os.date("!*t", t) | 827 | D = os.date("!*t", t) |
828 | load(os.date([[!assert(D.year==%Y and D.month==%m and D.day==%d and | 828 | load(os.date([[!assert(D.year==%Y and D.month==%m and D.day==%d and |
829 | D.hour==%H and D.min==%M and D.sec==%S and | 829 | D.hour==%H and D.min==%M and D.sec==%S and |
830 | D.wday==%w+1 and D.yday==%j and type(D.isdst) == 'boolean')]], t))() | 830 | D.wday==%w+1 and D.yday==%j)]], t))() |
831 | 831 | ||
832 | do | 832 | do |
833 | local D = os.date("*t") | 833 | local D = os.date("*t") |
834 | local t = os.time(D) | 834 | local t = os.time(D) |
835 | assert(type(D.isdst) == 'boolean') | 835 | if not D.isdst then |
836 | print("no daylight saving information") | ||
837 | else | ||
838 | assert(type(D.isdst) == 'boolean') | ||
839 | end | ||
836 | D.isdst = nil | 840 | D.isdst = nil |
837 | local t1 = os.time(D) | 841 | local t1 = os.time(D) |
838 | assert(t == t1) -- if isdst is absent uses correct default | 842 | assert(t == t1) -- if isdst is absent uses correct default |