diff options
| author | Paul Eggert | 2019-08-16 22:09:04 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-08-16 23:25:07 -0700 |
| commit | 37257d6acadff17bd1e52cfa460950bcb684c5c3 (patch) | |
| tree | ab7088cfa725561c8456f388cff79466948b3532 /test | |
| parent | d7c9ed8445d13de7350be3360d68717362f89929 (diff) | |
| download | emacs-37257d6acadff17bd1e52cfa460950bcb684c5c3.tar.gz emacs-37257d6acadff17bd1e52cfa460950bcb684c5c3.zip | |
More-compatible subsecond calendrical timestamps
Instead of appending a subseconds member to the result of
‘decode-time’, this keeps the format unchanged unless you give
a new optional argument to ‘decode-time’. Also, the augmented
format now puts the subsecond info in the SECONDS element, so
the total number of elements is unchanged; this is more
compatible with code that expects the traditional 9 elements,
such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
* doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/simple.el (decoded-time):
Document the new behavior.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
* lisp/calendar/iso8601.el (iso8601-parse)
(iso8601-parse-time, iso8601-parse-duration)
(iso8601--decoded-time):
* lisp/calendar/parse-time.el (parse-time-string):
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
* lisp/org/org.el (org-parse-time-string):
* lisp/simple.el (decoded-time):
* src/timefns.c (Fdecode_time, Fencode_time):
* test/lisp/calendar/icalendar-tests.el:
(icalendar--decode-isodatetime):
* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
(test-iso8601-date-dates, test-iso8601-date-obsolete)
(test-iso8601-date-weeks, test-iso8601-date-ordinals)
(test-iso8601-time, test-iso8601-combined)
(test-iso8601-duration, test-iso8601-intervals)
(standard-test-dates, standard-test-time-of-day-fractions)
(standard-test-time-of-day-beginning-of-day)
(standard-test-time-of-day-utc)
(standard-test-time-of-day-zone)
(standard-test-date-and-time-of-day, standard-test-interval):
* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
* test/src/timefns-tests.el (format-time-string-with-zone)
(encode-time-dst-numeric-zone):
Revert recent changes that added a SUBSECS member to
calendrical timestamps, since that component is no longer
present (the info, if any, is now in the SECONDS member).
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
Support fractional seconds in the new form. Simplify.
* src/timefns.c (Fdecode_time): Support new arg FORM.
(Fencode_time): Support subsecond resolution.
* test/src/timefns-tests.el (format-time-string-with-zone)
(decode-then-encode-time): Test subsecond calendrical timestamps.
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/calendar/icalendar-tests.el | 8 | ||||
| -rw-r--r-- | test/lisp/calendar/iso8601-tests.el | 190 | ||||
| -rw-r--r-- | test/lisp/calendar/parse-time-tests.el | 18 | ||||
| -rw-r--r-- | test/src/timefns-tests.el | 46 |
4 files changed, 137 insertions, 125 deletions
diff --git a/test/lisp/calendar/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el index 060cd8c9091..baea4804045 100644 --- a/test/lisp/calendar/icalendar-tests.el +++ b/test/lisp/calendar/icalendar-tests.el | |||
| @@ -477,18 +477,18 @@ END:VEVENT | |||
| 477 | 477 | ||
| 478 | ;; testcase: no time zone in input -> keep time as is | 478 | ;; testcase: no time zone in input -> keep time as is |
| 479 | ;; 1 Jan 2013 10:00 | 479 | ;; 1 Jan 2013 10:00 |
| 480 | (should (equal '(0 0 10 1 1 2013 2 nil 7200 0) | 480 | (should (equal '(0 0 10 1 1 2013 2 nil 7200) |
| 481 | (icalendar--decode-isodatetime "20130101T100000"))) | 481 | (icalendar--decode-isodatetime "20130101T100000"))) |
| 482 | ;; 1 Aug 2013 10:00 (DST) | 482 | ;; 1 Aug 2013 10:00 (DST) |
| 483 | (should (equal '(0 0 10 1 8 2013 4 t 10800 0) | 483 | (should (equal '(0 0 10 1 8 2013 4 t 10800) |
| 484 | (icalendar--decode-isodatetime "20130801T100000"))) | 484 | (icalendar--decode-isodatetime "20130801T100000"))) |
| 485 | 485 | ||
| 486 | ;; testcase: UTC time zone specifier in input -> convert to local time | 486 | ;; testcase: UTC time zone specifier in input -> convert to local time |
| 487 | ;; 31 Dec 2013 23:00 UTC -> 1 Jan 2013 01:00 EET | 487 | ;; 31 Dec 2013 23:00 UTC -> 1 Jan 2013 01:00 EET |
| 488 | (should (equal '(0 0 1 1 1 2014 3 nil 7200 0) | 488 | (should (equal '(0 0 1 1 1 2014 3 nil 7200) |
| 489 | (icalendar--decode-isodatetime "20131231T230000Z"))) | 489 | (icalendar--decode-isodatetime "20131231T230000Z"))) |
| 490 | ;; 1 Aug 2013 10:00 UTC -> 1 Aug 2013 13:00 EEST | 490 | ;; 1 Aug 2013 10:00 UTC -> 1 Aug 2013 13:00 EEST |
| 491 | (should (equal '(0 0 13 1 8 2013 4 t 10800 0) | 491 | (should (equal '(0 0 13 1 8 2013 4 t 10800) |
| 492 | (icalendar--decode-isodatetime "20130801T100000Z"))) | 492 | (icalendar--decode-isodatetime "20130801T100000Z"))) |
| 493 | 493 | ||
| 494 | ) | 494 | ) |
diff --git a/test/lisp/calendar/iso8601-tests.el b/test/lisp/calendar/iso8601-tests.el index 3f1149c864d..35c319ed036 100644 --- a/test/lisp/calendar/iso8601-tests.el +++ b/test/lisp/calendar/iso8601-tests.el | |||
| @@ -24,65 +24,65 @@ | |||
| 24 | 24 | ||
| 25 | (ert-deftest test-iso8601-date-years () | 25 | (ert-deftest test-iso8601-date-years () |
| 26 | (should (equal (iso8601-parse-date "1985") | 26 | (should (equal (iso8601-parse-date "1985") |
| 27 | '(nil nil nil nil nil 1985 nil nil nil nil))) | 27 | '(nil nil nil nil nil 1985 nil nil nil))) |
| 28 | (should (equal (iso8601-parse-date "-0003") | 28 | (should (equal (iso8601-parse-date "-0003") |
| 29 | '(nil nil nil nil nil -4 nil nil nil nil))) | 29 | '(nil nil nil nil nil -4 nil nil nil))) |
| 30 | (should (equal (iso8601-parse-date "+1985") | 30 | (should (equal (iso8601-parse-date "+1985") |
| 31 | '(nil nil nil nil nil 1985 nil nil nil nil)))) | 31 | '(nil nil nil nil nil 1985 nil nil nil)))) |
| 32 | 32 | ||
| 33 | (ert-deftest test-iso8601-date-dates () | 33 | (ert-deftest test-iso8601-date-dates () |
| 34 | (should (equal (iso8601-parse-date "1985-03-14") | 34 | (should (equal (iso8601-parse-date "1985-03-14") |
| 35 | '(nil nil nil 14 3 1985 nil nil nil nil))) | 35 | '(nil nil nil 14 3 1985 nil nil nil))) |
| 36 | (should (equal (iso8601-parse-date "19850314") | 36 | (should (equal (iso8601-parse-date "19850314") |
| 37 | '(nil nil nil 14 3 1985 nil nil nil nil))) | 37 | '(nil nil nil 14 3 1985 nil nil nil))) |
| 38 | (should (equal (iso8601-parse-date "1985-02") | 38 | (should (equal (iso8601-parse-date "1985-02") |
| 39 | '(nil nil nil nil 2 1985 nil nil nil nil)))) | 39 | '(nil nil nil nil 2 1985 nil nil nil)))) |
| 40 | 40 | ||
| 41 | (ert-deftest test-iso8601-date-obsolete () | 41 | (ert-deftest test-iso8601-date-obsolete () |
| 42 | (should (equal (iso8601-parse-date "--02-01") | 42 | (should (equal (iso8601-parse-date "--02-01") |
| 43 | '(nil nil nil 1 2 nil nil nil nil nil))) | 43 | '(nil nil nil 1 2 nil nil nil nil))) |
| 44 | (should (equal (iso8601-parse-date "--0201") | 44 | (should (equal (iso8601-parse-date "--0201") |
| 45 | '(nil nil nil 1 2 nil nil nil nil nil)))) | 45 | '(nil nil nil 1 2 nil nil nil nil)))) |
| 46 | 46 | ||
| 47 | (ert-deftest test-iso8601-date-weeks () | 47 | (ert-deftest test-iso8601-date-weeks () |
| 48 | (should (equal (iso8601-parse-date "2008W39-6") | 48 | (should (equal (iso8601-parse-date "2008W39-6") |
| 49 | '(nil nil nil 27 9 2008 nil nil nil nil))) | 49 | '(nil nil nil 27 9 2008 nil nil nil))) |
| 50 | (should (equal (iso8601-parse-date "2009W01-1") | 50 | (should (equal (iso8601-parse-date "2009W01-1") |
| 51 | '(nil nil nil 29 12 2008 nil nil nil nil))) | 51 | '(nil nil nil 29 12 2008 nil nil nil))) |
| 52 | (should (equal (iso8601-parse-date "2009W53-7") | 52 | (should (equal (iso8601-parse-date "2009W53-7") |
| 53 | '(nil nil nil 3 1 2010 nil nil nil nil)))) | 53 | '(nil nil nil 3 1 2010 nil nil nil)))) |
| 54 | 54 | ||
| 55 | (ert-deftest test-iso8601-date-ordinals () | 55 | (ert-deftest test-iso8601-date-ordinals () |
| 56 | (should (equal (iso8601-parse-date "1981-095") | 56 | (should (equal (iso8601-parse-date "1981-095") |
| 57 | '(nil nil nil 5 4 1981 nil nil nil nil)))) | 57 | '(nil nil nil 5 4 1981 nil nil nil)))) |
| 58 | 58 | ||
| 59 | (ert-deftest test-iso8601-time () | 59 | (ert-deftest test-iso8601-time () |
| 60 | (should (equal (iso8601-parse-time "13:47:30") | 60 | (should (equal (iso8601-parse-time "13:47:30") |
| 61 | '(30 47 13 nil nil nil nil nil nil 0))) | 61 | '(30 47 13 nil nil nil nil nil nil))) |
| 62 | (should (equal (iso8601-parse-time "134730") | 62 | (should (equal (iso8601-parse-time "134730") |
| 63 | '(30 47 13 nil nil nil nil nil nil 0))) | 63 | '(30 47 13 nil nil nil nil nil nil))) |
| 64 | (should (equal (iso8601-parse-time "1347") | 64 | (should (equal (iso8601-parse-time "1347") |
| 65 | '(0 47 13 nil nil nil nil nil nil 0)))) | 65 | '(0 47 13 nil nil nil nil nil nil)))) |
| 66 | 66 | ||
| 67 | (ert-deftest test-iso8601-combined () | 67 | (ert-deftest test-iso8601-combined () |
| 68 | (should (equal (iso8601-parse "2008-03-02T13:47:30") | 68 | (should (equal (iso8601-parse "2008-03-02T13:47:30") |
| 69 | '(30 47 13 2 3 2008 nil nil nil 0))) | 69 | '(30 47 13 2 3 2008 nil nil nil))) |
| 70 | (should (equal (iso8601-parse "2008-03-02T13:47:30Z") | 70 | (should (equal (iso8601-parse "2008-03-02T13:47:30Z") |
| 71 | '(30 47 13 2 3 2008 nil nil 0 0))) | 71 | '(30 47 13 2 3 2008 nil nil 0))) |
| 72 | (should (equal (iso8601-parse "2008-03-02T13:47:30+01:00") | 72 | (should (equal (iso8601-parse "2008-03-02T13:47:30+01:00") |
| 73 | '(30 47 13 2 3 2008 nil nil 3600 0))) | 73 | '(30 47 13 2 3 2008 nil nil 3600))) |
| 74 | (should (equal (iso8601-parse "2008-03-02T13:47:30-01") | 74 | (should (equal (iso8601-parse "2008-03-02T13:47:30-01") |
| 75 | '(30 47 13 2 3 2008 nil nil -3600 0)))) | 75 | '(30 47 13 2 3 2008 nil nil -3600)))) |
| 76 | 76 | ||
| 77 | (ert-deftest test-iso8601-duration () | 77 | (ert-deftest test-iso8601-duration () |
| 78 | (should (equal (iso8601-parse-duration "P3Y6M4DT12H30M5S") | 78 | (should (equal (iso8601-parse-duration "P3Y6M4DT12H30M5S") |
| 79 | '(5 30 12 4 6 3 nil nil nil 0))) | 79 | '(5 30 12 4 6 3 nil nil nil))) |
| 80 | (should (equal (iso8601-parse-duration "P1M") | 80 | (should (equal (iso8601-parse-duration "P1M") |
| 81 | '(0 0 0 0 1 0 nil nil nil 0))) | 81 | '(0 0 0 0 1 0 nil nil nil))) |
| 82 | (should (equal (iso8601-parse-duration "PT1M") | 82 | (should (equal (iso8601-parse-duration "PT1M") |
| 83 | '(0 1 0 0 0 0 nil nil nil 0))) | 83 | '(0 1 0 0 0 0 nil nil nil))) |
| 84 | (should (equal (iso8601-parse-duration "P0003-06-04T12:30:05") | 84 | (should (equal (iso8601-parse-duration "P0003-06-04T12:30:05") |
| 85 | '(5 30 12 4 6 3 nil nil nil 0)))) | 85 | '(5 30 12 4 6 3 nil nil nil)))) |
| 86 | 86 | ||
| 87 | (ert-deftest test-iso8601-invalid () | 87 | (ert-deftest test-iso8601-invalid () |
| 88 | (should-not (iso8601-valid-p " 2008-03-02T13:47:30-01")) | 88 | (should-not (iso8601-valid-p " 2008-03-02T13:47:30-01")) |
| @@ -94,149 +94,149 @@ | |||
| 94 | (ert-deftest test-iso8601-intervals () | 94 | (ert-deftest test-iso8601-intervals () |
| 95 | (should (equal | 95 | (should (equal |
| 96 | (iso8601-parse-interval "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z") | 96 | (iso8601-parse-interval "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z") |
| 97 | '((0 0 13 1 3 2007 nil nil 0 0) | 97 | '((0 0 13 1 3 2007 nil nil 0) |
| 98 | (0 30 15 11 5 2008 nil nil 0 0) | 98 | (0 30 15 11 5 2008 nil nil 0) |
| 99 | ;; Hm... can't really use decode-time for time differences... | 99 | ;; Hm... can't really use decode-time for time differences... |
| 100 | (0 30 2 14 3 1971 0 nil 0 0)))) | 100 | (0 30 2 14 3 1971 0 nil 0)))) |
| 101 | (should (equal (iso8601-parse-interval "2007-03-01T13:00:00Z/P1Y2M10DT2H30M") | 101 | (should (equal (iso8601-parse-interval "2007-03-01T13:00:00Z/P1Y2M10DT2H30M") |
| 102 | '((0 0 13 1 3 2007 nil nil 0 0) | 102 | '((0 0 13 1 3 2007 nil nil 0) |
| 103 | (0 30 15 11 5 2008 nil nil 0 0) | 103 | (0 30 15 11 5 2008 nil nil 0) |
| 104 | (0 30 2 10 2 1 nil nil nil 0)))) | 104 | (0 30 2 10 2 1 nil nil nil)))) |
| 105 | (should (equal (iso8601-parse-interval "P1Y2M10DT2H30M/2008-05-11T15:30:00Z") | 105 | (should (equal (iso8601-parse-interval "P1Y2M10DT2H30M/2008-05-11T15:30:00Z") |
| 106 | '((0 0 13 1 3 2007 nil nil 0 0) | 106 | '((0 0 13 1 3 2007 nil nil 0) |
| 107 | (0 30 15 11 5 2008 nil nil 0 0) | 107 | (0 30 15 11 5 2008 nil nil 0) |
| 108 | (0 30 2 10 2 1 nil nil nil 0))))) | 108 | (0 30 2 10 2 1 nil nil nil))))) |
| 109 | 109 | ||
| 110 | (ert-deftest standard-test-dates () | 110 | (ert-deftest standard-test-dates () |
| 111 | (should (equal (iso8601-parse-date "19850412") | 111 | (should (equal (iso8601-parse-date "19850412") |
| 112 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 112 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 113 | (should (equal (iso8601-parse-date "1985-04-12") | 113 | (should (equal (iso8601-parse-date "1985-04-12") |
| 114 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 114 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 115 | 115 | ||
| 116 | (should (equal (iso8601-parse-date "1985102") | 116 | (should (equal (iso8601-parse-date "1985102") |
| 117 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 117 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 118 | (should (equal (iso8601-parse-date "1985-102") | 118 | (should (equal (iso8601-parse-date "1985-102") |
| 119 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 119 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 120 | 120 | ||
| 121 | (should (equal (iso8601-parse-date "1985W155") | 121 | (should (equal (iso8601-parse-date "1985W155") |
| 122 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 122 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 123 | (should (equal (iso8601-parse-date "1985-W15-5") | 123 | (should (equal (iso8601-parse-date "1985-W15-5") |
| 124 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 124 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 125 | 125 | ||
| 126 | (should (equal (iso8601-parse-date "1985W15") | 126 | (should (equal (iso8601-parse-date "1985W15") |
| 127 | '(nil nil nil 7 4 1985 nil nil nil nil))) | 127 | '(nil nil nil 7 4 1985 nil nil nil))) |
| 128 | (should (equal (iso8601-parse-date "1985-W15") | 128 | (should (equal (iso8601-parse-date "1985-W15") |
| 129 | '(nil nil nil 7 4 1985 nil nil nil nil))) | 129 | '(nil nil nil 7 4 1985 nil nil nil))) |
| 130 | 130 | ||
| 131 | (should (equal (iso8601-parse-date "1985-04") | 131 | (should (equal (iso8601-parse-date "1985-04") |
| 132 | '(nil nil nil nil 4 1985 nil nil nil nil))) | 132 | '(nil nil nil nil 4 1985 nil nil nil))) |
| 133 | 133 | ||
| 134 | (should (equal (iso8601-parse-date "1985") | 134 | (should (equal (iso8601-parse-date "1985") |
| 135 | '(nil nil nil nil nil 1985 nil nil nil nil))) | 135 | '(nil nil nil nil nil 1985 nil nil nil))) |
| 136 | 136 | ||
| 137 | (should (equal (iso8601-parse-date "+1985-04-12") | 137 | (should (equal (iso8601-parse-date "+1985-04-12") |
| 138 | '(nil nil nil 12 4 1985 nil nil nil nil))) | 138 | '(nil nil nil 12 4 1985 nil nil nil))) |
| 139 | (should (equal (iso8601-parse-date "+19850412") | 139 | (should (equal (iso8601-parse-date "+19850412") |
| 140 | '(nil nil nil 12 4 1985 nil nil nil nil)))) | 140 | '(nil nil nil 12 4 1985 nil nil nil)))) |
| 141 | 141 | ||
| 142 | (ert-deftest standard-test-time-of-day-local-time () | 142 | (ert-deftest standard-test-time-of-day-local-time () |
| 143 | (should (equal (iso8601-parse-time "152746") | 143 | (should (equal (iso8601-parse-time "152746") |
| 144 | '(46 27 15 nil nil nil nil nil nil 0))) | 144 | '(46 27 15 nil nil nil nil nil nil))) |
| 145 | (should (equal (iso8601-parse-time "15:27:46") | 145 | (should (equal (iso8601-parse-time "15:27:46") |
| 146 | '(46 27 15 nil nil nil nil nil nil 0))) | 146 | '(46 27 15 nil nil nil nil nil nil))) |
| 147 | 147 | ||
| 148 | (should (equal (iso8601-parse-time "1528") | 148 | (should (equal (iso8601-parse-time "1528") |
| 149 | '(0 28 15 nil nil nil nil nil nil 0))) | 149 | '(0 28 15 nil nil nil nil nil nil))) |
| 150 | (should (equal (iso8601-parse-time "15:28") | 150 | (should (equal (iso8601-parse-time "15:28") |
| 151 | '(0 28 15 nil nil nil nil nil nil 0))) | 151 | '(0 28 15 nil nil nil nil nil nil))) |
| 152 | 152 | ||
| 153 | (should (equal (iso8601-parse-time "15") | 153 | (should (equal (iso8601-parse-time "15") |
| 154 | '(0 0 15 nil nil nil nil nil nil 0)))) | 154 | '(0 0 15 nil nil nil nil nil nil)))) |
| 155 | 155 | ||
| 156 | (ert-deftest standard-test-time-of-day-fractions () | 156 | (ert-deftest standard-test-time-of-day-fractions () |
| 157 | ;; decoded-time doesn't support sub-second times. | 157 | ;; decoded-time doesn't support sub-second times. |
| 158 | ;; (should (equal (iso8601-parse-time "152735,5") | 158 | ;; (should (equal (iso8601-parse-time "152735,5") |
| 159 | ;; '(46 27 15 nil nil nil nil nil nil (5 . 10)))) | 159 | ;; '(46 27 15 nil nil nil nil nil nil))) |
| 160 | ;; (should (equal (iso8601-parse-time "15:27:35,5") | 160 | ;; (should (equal (iso8601-parse-time "15:27:35,5") |
| 161 | ;; '(46 27 15 nil nil nil nil nil nil (5 . 10)))) | 161 | ;; '(46 27 15 nil nil nil nil nil nil))) |
| 162 | ) | 162 | ) |
| 163 | 163 | ||
| 164 | (ert-deftest standard-test-time-of-day-beginning-of-day () | 164 | (ert-deftest standard-test-time-of-day-beginning-of-day () |
| 165 | (should (equal (iso8601-parse-time "000000") | 165 | (should (equal (iso8601-parse-time "000000") |
| 166 | '(0 0 0 nil nil nil nil nil nil 0))) | 166 | '(0 0 0 nil nil nil nil nil nil))) |
| 167 | (should (equal (iso8601-parse-time "00:00:00") | 167 | (should (equal (iso8601-parse-time "00:00:00") |
| 168 | '(0 0 0 nil nil nil nil nil nil 0))) | 168 | '(0 0 0 nil nil nil nil nil nil))) |
| 169 | 169 | ||
| 170 | (should (equal (iso8601-parse-time "0000") | 170 | (should (equal (iso8601-parse-time "0000") |
| 171 | '(0 0 0 nil nil nil nil nil nil 0))) | 171 | '(0 0 0 nil nil nil nil nil nil))) |
| 172 | (should (equal (iso8601-parse-time "00:00") | 172 | (should (equal (iso8601-parse-time "00:00") |
| 173 | '(0 0 0 nil nil nil nil nil nil 0)))) | 173 | '(0 0 0 nil nil nil nil nil nil)))) |
| 174 | 174 | ||
| 175 | (ert-deftest standard-test-time-of-day-utc () | 175 | (ert-deftest standard-test-time-of-day-utc () |
| 176 | (should (equal (iso8601-parse-time "232030Z") | 176 | (should (equal (iso8601-parse-time "232030Z") |
| 177 | '(30 20 23 nil nil nil nil nil 0 0))) | 177 | '(30 20 23 nil nil nil nil nil 0))) |
| 178 | (should (equal (iso8601-parse-time "23:20:30Z") | 178 | (should (equal (iso8601-parse-time "23:20:30Z") |
| 179 | '(30 20 23 nil nil nil nil nil 0 0))) | 179 | '(30 20 23 nil nil nil nil nil 0))) |
| 180 | 180 | ||
| 181 | (should (equal (iso8601-parse-time "2320Z") | 181 | (should (equal (iso8601-parse-time "2320Z") |
| 182 | '(0 20 23 nil nil nil nil nil 0 0))) | 182 | '(0 20 23 nil nil nil nil nil 0))) |
| 183 | (should (equal (iso8601-parse-time "23:20Z") | 183 | (should (equal (iso8601-parse-time "23:20Z") |
| 184 | '(0 20 23 nil nil nil nil nil 0 0))) | 184 | '(0 20 23 nil nil nil nil nil 0))) |
| 185 | 185 | ||
| 186 | (should (equal (iso8601-parse-time "23Z") | 186 | (should (equal (iso8601-parse-time "23Z") |
| 187 | '(0 0 23 nil nil nil nil nil 0 0)))) | 187 | '(0 0 23 nil nil nil nil nil 0)))) |
| 188 | 188 | ||
| 189 | 189 | ||
| 190 | (ert-deftest standard-test-time-of-day-zone () | 190 | (ert-deftest standard-test-time-of-day-zone () |
| 191 | (should (equal (iso8601-parse-time "152746+0100") | 191 | (should (equal (iso8601-parse-time "152746+0100") |
| 192 | '(46 27 15 nil nil nil nil nil 3600 0))) | 192 | '(46 27 15 nil nil nil nil nil 3600))) |
| 193 | (should (equal (iso8601-parse-time "15:27:46+0100") | 193 | (should (equal (iso8601-parse-time "15:27:46+0100") |
| 194 | '(46 27 15 nil nil nil nil nil 3600 0))) | 194 | '(46 27 15 nil nil nil nil nil 3600))) |
| 195 | 195 | ||
| 196 | (should (equal (iso8601-parse-time "152746+01") | 196 | (should (equal (iso8601-parse-time "152746+01") |
| 197 | '(46 27 15 nil nil nil nil nil 3600 0))) | 197 | '(46 27 15 nil nil nil nil nil 3600))) |
| 198 | (should (equal (iso8601-parse-time "15:27:46+01") | 198 | (should (equal (iso8601-parse-time "15:27:46+01") |
| 199 | '(46 27 15 nil nil nil nil nil 3600 0))) | 199 | '(46 27 15 nil nil nil nil nil 3600))) |
| 200 | 200 | ||
| 201 | (should (equal (iso8601-parse-time "152746-0500") | 201 | (should (equal (iso8601-parse-time "152746-0500") |
| 202 | '(46 27 15 nil nil nil nil nil -18000 0))) | 202 | '(46 27 15 nil nil nil nil nil -18000))) |
| 203 | (should (equal (iso8601-parse-time "15:27:46-0500") | 203 | (should (equal (iso8601-parse-time "15:27:46-0500") |
| 204 | '(46 27 15 nil nil nil nil nil -18000 0))) | 204 | '(46 27 15 nil nil nil nil nil -18000))) |
| 205 | 205 | ||
| 206 | (should (equal (iso8601-parse-time "152746-05") | 206 | (should (equal (iso8601-parse-time "152746-05") |
| 207 | '(46 27 15 nil nil nil nil nil -18000 0))) | 207 | '(46 27 15 nil nil nil nil nil -18000))) |
| 208 | (should (equal (iso8601-parse-time "15:27:46-05") | 208 | (should (equal (iso8601-parse-time "15:27:46-05") |
| 209 | '(46 27 15 nil nil nil nil nil -18000 0)))) | 209 | '(46 27 15 nil nil nil nil nil -18000)))) |
| 210 | 210 | ||
| 211 | (ert-deftest standard-test-date-and-time-of-day () | 211 | (ert-deftest standard-test-date-and-time-of-day () |
| 212 | (should (equal (iso8601-parse "19850412T101530") | 212 | (should (equal (iso8601-parse "19850412T101530") |
| 213 | '(30 15 10 12 4 1985 nil nil nil 0))) | 213 | '(30 15 10 12 4 1985 nil nil nil))) |
| 214 | (should (equal (iso8601-parse "1985-04-12T10:15:30") | 214 | (should (equal (iso8601-parse "1985-04-12T10:15:30") |
| 215 | '(30 15 10 12 4 1985 nil nil nil 0))) | 215 | '(30 15 10 12 4 1985 nil nil nil))) |
| 216 | 216 | ||
| 217 | (should (equal (iso8601-parse "1985102T235030Z") | 217 | (should (equal (iso8601-parse "1985102T235030Z") |
| 218 | '(30 50 23 12 4 1985 nil nil 0 0))) | 218 | '(30 50 23 12 4 1985 nil nil 0))) |
| 219 | (should (equal (iso8601-parse "1985-102T23:50:30Z") | 219 | (should (equal (iso8601-parse "1985-102T23:50:30Z") |
| 220 | '(30 50 23 12 4 1985 nil nil 0 0))) | 220 | '(30 50 23 12 4 1985 nil nil 0))) |
| 221 | 221 | ||
| 222 | (should (equal (iso8601-parse "1985W155T235030") | 222 | (should (equal (iso8601-parse "1985W155T235030") |
| 223 | '(30 50 23 12 4 1985 nil nil nil 0))) | 223 | '(30 50 23 12 4 1985 nil nil nil))) |
| 224 | (should (equal (iso8601-parse "1985-W155T23:50:30") | 224 | (should (equal (iso8601-parse "1985-W155T23:50:30") |
| 225 | '(30 50 23 12 4 1985 nil nil nil 0)))) | 225 | '(30 50 23 12 4 1985 nil nil nil)))) |
| 226 | 226 | ||
| 227 | (ert-deftest standard-test-interval () | 227 | (ert-deftest standard-test-interval () |
| 228 | ;; A time interval starting at 20 minutes and 50 seconds past 23 | 228 | ;; A time interval starting at 20 minutes and 50 seconds past 23 |
| 229 | ;; hours on 12 April 1985 and ending at 30 minutes past 10 hours on | 229 | ;; hours on 12 April 1985 and ending at 30 minutes past 10 hours on |
| 230 | ;; 25 June 1985. | 230 | ;; 25 June 1985. |
| 231 | (should (equal (iso8601-parse-interval "19850412T232050Z/19850625T103000Z") | 231 | (should (equal (iso8601-parse-interval "19850412T232050Z/19850625T103000Z") |
| 232 | '((50 20 23 12 4 1985 nil nil 0 0) | 232 | '((50 20 23 12 4 1985 nil nil 0) |
| 233 | (0 30 10 25 6 1985 nil nil 0 0) | 233 | (0 30 10 25 6 1985 nil nil 0) |
| 234 | (10 9 11 15 3 1970 0 nil 0 0)))) | 234 | (10 9 11 15 3 1970 0 nil 0)))) |
| 235 | (should (equal (iso8601-parse-interval | 235 | (should (equal (iso8601-parse-interval |
| 236 | "1985-04-12T23:20:50Z/1985-06-25T10:30:00Z") | 236 | "1985-04-12T23:20:50Z/1985-06-25T10:30:00Z") |
| 237 | '((50 20 23 12 4 1985 nil nil 0 0) | 237 | '((50 20 23 12 4 1985 nil nil 0) |
| 238 | (0 30 10 25 6 1985 nil nil 0 0) | 238 | (0 30 10 25 6 1985 nil nil 0) |
| 239 | (10 9 11 15 3 1970 0 nil 0 0)))) | 239 | (10 9 11 15 3 1970 0 nil 0)))) |
| 240 | 240 | ||
| 241 | ;; A time interval starting at 12 April 1985 and ending on 25 June | 241 | ;; A time interval starting at 12 April 1985 and ending on 25 June |
| 242 | ;; 1985. | 242 | ;; 1985. |
| @@ -251,41 +251,41 @@ | |||
| 251 | ;; A time interval of 2 years, 10 months, 15 days, 10 hours, 20 | 251 | ;; A time interval of 2 years, 10 months, 15 days, 10 hours, 20 |
| 252 | ;; minutes and 30 seconds. | 252 | ;; minutes and 30 seconds. |
| 253 | (should (equal (iso8601-parse-duration "P2Y10M15DT10H20M30S") | 253 | (should (equal (iso8601-parse-duration "P2Y10M15DT10H20M30S") |
| 254 | '(30 20 10 15 10 2 nil nil nil 0))) | 254 | '(30 20 10 15 10 2 nil nil nil))) |
| 255 | 255 | ||
| 256 | (should (equal (iso8601-parse-duration "P00021015T102030") | 256 | (should (equal (iso8601-parse-duration "P00021015T102030") |
| 257 | '(30 20 10 15 10 2 nil nil nil 0))) | 257 | '(30 20 10 15 10 2 nil nil nil))) |
| 258 | (should (equal (iso8601-parse-duration "P0002-10-15T10:20:30") | 258 | (should (equal (iso8601-parse-duration "P0002-10-15T10:20:30") |
| 259 | '(30 20 10 15 10 2 nil nil nil 0))) | 259 | '(30 20 10 15 10 2 nil nil nil))) |
| 260 | 260 | ||
| 261 | ;; A time interval of 1 year and 6 months. | 261 | ;; A time interval of 1 year and 6 months. |
| 262 | (should (equal (iso8601-parse-duration "P1Y6M") | 262 | (should (equal (iso8601-parse-duration "P1Y6M") |
| 263 | '(0 0 0 0 6 1 nil nil nil 0))) | 263 | '(0 0 0 0 6 1 nil nil nil))) |
| 264 | (should (equal (iso8601-parse-duration "P0001-06") | 264 | (should (equal (iso8601-parse-duration "P0001-06") |
| 265 | '(nil nil nil nil 6 1 nil nil nil nil))) | 265 | '(nil nil nil nil 6 1 nil nil nil))) |
| 266 | 266 | ||
| 267 | ;; A time interval of seventy-two hours. | 267 | ;; A time interval of seventy-two hours. |
| 268 | (should (equal (iso8601-parse-duration "PT72H") | 268 | (should (equal (iso8601-parse-duration "PT72H") |
| 269 | '(0 0 72 0 0 0 nil nil nil 0))) | 269 | '(0 0 72 0 0 0 nil nil nil))) |
| 270 | 270 | ||
| 271 | ;; Defined by start and duration | 271 | ;; Defined by start and duration |
| 272 | ;; A time interval of 1 year, 2 months, 15 days and 12 hours, | 272 | ;; A time interval of 1 year, 2 months, 15 days and 12 hours, |
| 273 | ;; beginning on 12 April 1985 at 20 minutes past 23 hours. | 273 | ;; beginning on 12 April 1985 at 20 minutes past 23 hours. |
| 274 | (should (equal (iso8601-parse-interval "19850412T232000/P1Y2M15DT12H") | 274 | (should (equal (iso8601-parse-interval "19850412T232000/P1Y2M15DT12H") |
| 275 | '((0 20 23 12 4 1985 nil nil nil 0) | 275 | '((0 20 23 12 4 1985 nil nil nil) |
| 276 | (0 20 11 28 6 1986 nil nil nil 0) | 276 | (0 20 11 28 6 1986 nil nil nil) |
| 277 | (0 0 12 15 2 1 nil nil nil 0)))) | 277 | (0 0 12 15 2 1 nil nil nil)))) |
| 278 | (should (equal (iso8601-parse-interval "1985-04-12T23:20:00/P1Y2M15DT12H") | 278 | (should (equal (iso8601-parse-interval "1985-04-12T23:20:00/P1Y2M15DT12H") |
| 279 | '((0 20 23 12 4 1985 nil nil nil 0) | 279 | '((0 20 23 12 4 1985 nil nil nil) |
| 280 | (0 20 11 28 6 1986 nil nil nil 0) | 280 | (0 20 11 28 6 1986 nil nil nil) |
| 281 | (0 0 12 15 2 1 nil nil nil 0)))) | 281 | (0 0 12 15 2 1 nil nil nil)))) |
| 282 | 282 | ||
| 283 | ;; Defined by duration and end | 283 | ;; Defined by duration and end |
| 284 | ;; A time interval of 1 year, 2 months, 15 days and 12 hours, ending | 284 | ;; A time interval of 1 year, 2 months, 15 days and 12 hours, ending |
| 285 | ;; on 12 April 1985 at 20 minutes past 23 hour. | 285 | ;; on 12 April 1985 at 20 minutes past 23 hour. |
| 286 | (should (equal (iso8601-parse-interval "P1Y2M15DT12H/19850412T232000") | 286 | (should (equal (iso8601-parse-interval "P1Y2M15DT12H/19850412T232000") |
| 287 | '((0 20 11 28 1 1984 nil nil nil 0) | 287 | '((0 20 11 28 1 1984 nil nil nil) |
| 288 | (0 20 23 12 4 1985 nil nil nil 0) | 288 | (0 20 23 12 4 1985 nil nil nil) |
| 289 | (0 0 12 15 2 1 nil nil nil 0))))) | 289 | (0 0 12 15 2 1 nil nil nil))))) |
| 290 | 290 | ||
| 291 | ;;; iso8601-tests.el ends here | 291 | ;;; iso8601-tests.el ends here |
diff --git a/test/lisp/calendar/parse-time-tests.el b/test/lisp/calendar/parse-time-tests.el index 61a3838a52b..7435620b71f 100644 --- a/test/lisp/calendar/parse-time-tests.el +++ b/test/lisp/calendar/parse-time-tests.el | |||
| @@ -28,23 +28,23 @@ | |||
| 28 | 28 | ||
| 29 | (ert-deftest parse-time-tests () | 29 | (ert-deftest parse-time-tests () |
| 30 | (should (equal (parse-time-string "Mon, 22 Feb 2016 19:35:42 +0100") | 30 | (should (equal (parse-time-string "Mon, 22 Feb 2016 19:35:42 +0100") |
| 31 | '(42 35 19 22 2 2016 1 -1 3600 0))) | 31 | '(42 35 19 22 2 2016 1 -1 3600))) |
| 32 | (should (equal (parse-time-string "22 Feb 2016 19:35:42 +0100") | 32 | (should (equal (parse-time-string "22 Feb 2016 19:35:42 +0100") |
| 33 | '(42 35 19 22 2 2016 nil -1 3600 0))) | 33 | '(42 35 19 22 2 2016 nil -1 3600))) |
| 34 | (should (equal (parse-time-string "22 Feb 2016 +0100") | 34 | (should (equal (parse-time-string "22 Feb 2016 +0100") |
| 35 | '(nil nil nil 22 2 2016 nil -1 3600 nil))) | 35 | '(nil nil nil 22 2 2016 nil -1 3600))) |
| 36 | (should (equal (parse-time-string "Mon, 22 Feb 16 19:35:42 +0100") | 36 | (should (equal (parse-time-string "Mon, 22 Feb 16 19:35:42 +0100") |
| 37 | '(42 35 19 22 2 2016 1 -1 3600 0))) | 37 | '(42 35 19 22 2 2016 1 -1 3600))) |
| 38 | (should (equal (parse-time-string "Mon, 22 February 2016 19:35:42 +0100") | 38 | (should (equal (parse-time-string "Mon, 22 February 2016 19:35:42 +0100") |
| 39 | '(42 35 19 22 2 2016 1 -1 3600 0))) | 39 | '(42 35 19 22 2 2016 1 -1 3600))) |
| 40 | (should (equal (parse-time-string "Mon, 22 feb 2016 19:35:42 +0100") | 40 | (should (equal (parse-time-string "Mon, 22 feb 2016 19:35:42 +0100") |
| 41 | '(42 35 19 22 2 2016 1 -1 3600 0))) | 41 | '(42 35 19 22 2 2016 1 -1 3600))) |
| 42 | (should (equal (parse-time-string "Monday, 22 february 2016 19:35:42 +0100") | 42 | (should (equal (parse-time-string "Monday, 22 february 2016 19:35:42 +0100") |
| 43 | '(42 35 19 22 2 2016 1 -1 3600 0))) | 43 | '(42 35 19 22 2 2016 1 -1 3600))) |
| 44 | (should (equal (parse-time-string "Monday, 22 february 2016 19:35:42 PST") | 44 | (should (equal (parse-time-string "Monday, 22 february 2016 19:35:42 PST") |
| 45 | '(42 35 19 22 2 2016 1 nil -28800 0))) | 45 | '(42 35 19 22 2 2016 1 nil -28800))) |
| 46 | (should (equal (parse-time-string "Friday, 21 Sep 2018 13:47:58 PDT") | 46 | (should (equal (parse-time-string "Friday, 21 Sep 2018 13:47:58 PDT") |
| 47 | '(58 47 13 21 9 2018 5 t -25200 0))) | 47 | '(58 47 13 21 9 2018 5 t -25200))) |
| 48 | (should (equal (format-time-string | 48 | (should (equal (format-time-string |
| 49 | "%Y-%m-%d %H:%M:%S" | 49 | "%Y-%m-%d %H:%M:%S" |
| 50 | (parse-iso8601-time-string "1998-09-12T12:21:54-0200") t) | 50 | (parse-iso8601-time-string "1998-09-12T12:21:54-0200") t) |
diff --git a/test/src/timefns-tests.el b/test/src/timefns-tests.el index 362e7655a91..13ab7d83c3e 100644 --- a/test/src/timefns-tests.el +++ b/test/src/timefns-tests.el | |||
| @@ -40,25 +40,31 @@ | |||
| 40 | (7879679999900 . 100000) | 40 | (7879679999900 . 100000) |
| 41 | (78796799999999999999 . 1000000000000))) | 41 | (78796799999999999999 . 1000000000000))) |
| 42 | ;; UTC. | 42 | ;; UTC. |
| 43 | (let ((subsec (time-subtract (time-convert look t) | 43 | (let ((sec (time-add 59 (time-subtract (time-convert look t) |
| 44 | (time-convert look 'integer)))) | 44 | (time-convert look 'integer))))) |
| 45 | (should (string-equal | 45 | (should (string-equal |
| 46 | (format-time-string "%Y-%m-%d %H:%M:%S.%3N %z" look t) | 46 | (format-time-string "%Y-%m-%d %H:%M:%S.%3N %z" look t) |
| 47 | "1972-06-30 23:59:59.999 +0000")) | 47 | "1972-06-30 23:59:59.999 +0000")) |
| 48 | (should (equal (decode-time look t) | 48 | (should (equal (decode-time look t 'integer) |
| 49 | (list 59 59 23 30 6 1972 5 nil 0 subsec))) | 49 | '(59 59 23 30 6 1972 5 nil 0))) |
| 50 | (should (equal (decode-time look t t) | ||
| 51 | (list sec 59 23 30 6 1972 5 nil 0))) | ||
| 50 | ;; "UTC0". | 52 | ;; "UTC0". |
| 51 | (should (string-equal | 53 | (should (string-equal |
| 52 | (format-time-string format look "UTC0") | 54 | (format-time-string format look "UTC0") |
| 53 | "1972-06-30 23:59:59.999 +0000 (UTC)")) | 55 | "1972-06-30 23:59:59.999 +0000 (UTC)")) |
| 54 | (should (equal (decode-time look "UTC0") | 56 | (should (equal (decode-time look "UTC0" 'integer) |
| 55 | (list 59 59 23 30 6 1972 5 nil 0 subsec))) | 57 | '(59 59 23 30 6 1972 5 nil 0))) |
| 58 | (should (equal (decode-time look "UTC0" t) | ||
| 59 | (list sec 59 23 30 6 1972 5 nil 0))) | ||
| 56 | ;; Negative UTC offset, as a Lisp list. | 60 | ;; Negative UTC offset, as a Lisp list. |
| 57 | (should (string-equal | 61 | (should (string-equal |
| 58 | (format-time-string format look '(-28800 "PST")) | 62 | (format-time-string format look '(-28800 "PST")) |
| 59 | "1972-06-30 15:59:59.999 -0800 (PST)")) | 63 | "1972-06-30 15:59:59.999 -0800 (PST)")) |
| 60 | (should (equal (decode-time look '(-28800 "PST")) | 64 | (should (equal (decode-time look '(-28800 "PST") 'integer) |
| 61 | (list 59 59 15 30 6 1972 5 nil -28800 subsec))) | 65 | '(59 59 15 30 6 1972 5 nil -28800))) |
| 66 | (should (equal (decode-time look '(-28800 "PST") t) | ||
| 67 | (list sec 59 15 30 6 1972 5 nil -28800))) | ||
| 62 | ;; Negative UTC offset, as a Lisp integer. | 68 | ;; Negative UTC offset, as a Lisp integer. |
| 63 | (should (string-equal | 69 | (should (string-equal |
| 64 | (format-time-string format look -28800) | 70 | (format-time-string format look -28800) |
| @@ -67,14 +73,18 @@ | |||
| 67 | (if (eq system-type 'windows-nt) | 73 | (if (eq system-type 'windows-nt) |
| 68 | "1972-06-30 15:59:59.999 -0800 (ZZZ)" | 74 | "1972-06-30 15:59:59.999 -0800 (ZZZ)" |
| 69 | "1972-06-30 15:59:59.999 -0800 (-08)"))) | 75 | "1972-06-30 15:59:59.999 -0800 (-08)"))) |
| 70 | (should (equal (decode-time look -28800) | 76 | (should (equal (decode-time look -28800 'integer) |
| 71 | (list 59 59 15 30 6 1972 5 nil -28800 subsec))) | 77 | '(59 59 15 30 6 1972 5 nil -28800))) |
| 78 | (should (equal (decode-time look -28800 t) | ||
| 79 | (list sec 59 15 30 6 1972 5 nil -28800))) | ||
| 72 | ;; Positive UTC offset that is not an hour multiple, as a string. | 80 | ;; Positive UTC offset that is not an hour multiple, as a string. |
| 73 | (should (string-equal | 81 | (should (string-equal |
| 74 | (format-time-string format look "IST-5:30") | 82 | (format-time-string format look "IST-5:30") |
| 75 | "1972-07-01 05:29:59.999 +0530 (IST)")) | 83 | "1972-07-01 05:29:59.999 +0530 (IST)")) |
| 76 | (should (equal (decode-time look "IST-5:30") | 84 | (should (equal (decode-time look "IST-5:30" 'integer) |
| 77 | (list 59 29 5 1 7 1972 6 nil 19800 subsec))))))) | 85 | '(59 29 5 1 7 1972 6 nil 19800))) |
| 86 | (should (equal (decode-time look "IST-5:30" t) | ||
| 87 | (list sec 29 5 1 7 1972 6 nil 19800))))))) | ||
| 78 | 88 | ||
| 79 | (ert-deftest decode-then-encode-time () | 89 | (ert-deftest decode-then-encode-time () |
| 80 | (let ((time-values (list 0 -2 1 0.0 -0.0 -2.0 1.0 | 90 | (let ((time-values (list 0 -2 1 0.0 -0.0 -2.0 1.0 |
| @@ -87,11 +97,13 @@ | |||
| 87 | (cons (1+ most-positive-fixnum) 1000000000000) | 97 | (cons (1+ most-positive-fixnum) 1000000000000) |
| 88 | (cons 1000000000000 (1+ most-positive-fixnum))))) | 98 | (cons 1000000000000 (1+ most-positive-fixnum))))) |
| 89 | (dolist (a time-values) | 99 | (dolist (a time-values) |
| 90 | (let* ((d (ignore-errors (decode-time a t))) | 100 | (let* ((d (ignore-errors (decode-time a t t))) |
| 101 | (d-integer (ignore-errors (decode-time a t 'integer))) | ||
| 91 | (e (if d (encode-time d))) | 102 | (e (if d (encode-time d))) |
| 92 | (diff (float-time (time-subtract a e)))) | 103 | (e-integer (if d-integer (encode-time d-integer)))) |
| 93 | (should (or (not d) | 104 | (should (or (not d) (time-equal-p a e))) |
| 94 | (and (<= 0 diff) (< diff 1)))))))) | 105 | (should (or (not d-integer) (time-equal-p (time-convert a 'integer) |
| 106 | e-integer))))))) | ||
| 95 | 107 | ||
| 96 | ;;; This should not dump core. | 108 | ;;; This should not dump core. |
| 97 | (ert-deftest format-time-string-with-outlandish-zone () | 109 | (ert-deftest format-time-string-with-outlandish-zone () |
| @@ -151,7 +163,7 @@ | |||
| 151 | (ert-deftest encode-time-dst-numeric-zone () | 163 | (ert-deftest encode-time-dst-numeric-zone () |
| 152 | "Check for Bug#35502." | 164 | "Check for Bug#35502." |
| 153 | (should (time-equal-p | 165 | (should (time-equal-p |
| 154 | (encode-time '(29 31 17 30 4 2019 2 t 7200 0)) | 166 | (encode-time '(29 31 17 30 4 2019 2 t 7200)) |
| 155 | '(23752 27217)))) | 167 | '(23752 27217)))) |
| 156 | 168 | ||
| 157 | (ert-deftest float-time-precision () | 169 | (ert-deftest float-time-precision () |