forked from mirrors/org-mode
org-colview: Fix failing test
* lisp/org.el (org-parse-time-string): Allow to specify zone as an optional argument. * lisp/org-colview.el (org-columns--age-to-seconds): Apply change above. * testing/lisp/test-org-colview.el (test-org-colview/columns-summary): Update tests.
This commit is contained in:
parent
2040b61391
commit
b47920ed20
|
@ -1085,7 +1085,7 @@ as days/hours/minutes/seconds."
|
|||
((string-match-p org-ts-regexp s)
|
||||
(floor
|
||||
(- org-columns--time
|
||||
(float-time (apply #'encode-time (org-parse-time-string s))))))
|
||||
(float-time (apply #'encode-time (org-parse-time-string s nil t))))))
|
||||
;; Match own output for computations in upper levels.
|
||||
((string-match "\\([0-9]+\\)d \\([0-9]+\\)h \\([0-9]+\\)m \\([0-9]+\\)s" s)
|
||||
(+ (* 86400 (string-to-number (match-string 1 s)))
|
||||
|
|
16
lisp/org.el
16
lisp/org.el
|
@ -17937,11 +17937,17 @@ day number."
|
|||
(list (nth 4 d) (nth 3 d) (nth 5 d))))
|
||||
((listp d) (list (nth 4 d) (nth 3 d) (nth 5 d)))))
|
||||
|
||||
(defun org-parse-time-string (s &optional nodefault)
|
||||
(defun org-parse-time-string (s &optional nodefault zone)
|
||||
"Parse the standard Org time string.
|
||||
|
||||
This should be a lot faster than the normal `parse-time-string'.
|
||||
If time is not given, defaults to 0:00. However, with optional NODEFAULT,
|
||||
hour and minute fields will be nil if not given."
|
||||
|
||||
If time is not given, defaults to 0:00. However, with optional
|
||||
NODEFAULT, hour and minute fields will be nil if not given.
|
||||
|
||||
The optional ZONE is omitted or nil for Emacs local time, t for
|
||||
Universal Time, ‘wall’ for system wall clock time, or a string as
|
||||
in the TZ environment variable."
|
||||
(cond ((string-match org-ts-regexp0 s)
|
||||
(list 0
|
||||
(when (or (match-beginning 8) (not nodefault))
|
||||
|
@ -17951,9 +17957,9 @@ hour and minute fields will be nil if not given."
|
|||
(string-to-number (match-string 4 s))
|
||||
(string-to-number (match-string 3 s))
|
||||
(string-to-number (match-string 2 s))
|
||||
nil nil nil))
|
||||
nil nil zone))
|
||||
((string-match "^<[^>]+>$" s)
|
||||
(decode-time (seconds-to-time (org-matcher-time s))))
|
||||
(decode-time (seconds-to-time (org-matcher-time s)) zone))
|
||||
(t (error "Not a standard Org time string: %s" s))))
|
||||
|
||||
(defun org-timestamp-up (&optional arg)
|
||||
|
|
|
@ -513,7 +513,7 @@
|
|||
(cl-letf (((symbol-function 'current-time)
|
||||
(lambda ()
|
||||
(apply #'encode-time
|
||||
(org-parse-time-string "<2014-03-04 Tue>")))))
|
||||
(org-parse-time-string "<2014-03-04 Tue>" nil t)))))
|
||||
(org-test-with-temp-text
|
||||
"* H
|
||||
** S1
|
||||
|
@ -528,11 +528,11 @@
|
|||
(get-char-property (point) 'org-columns-value-modified)))))
|
||||
(should
|
||||
(equal
|
||||
"705d 01h 0m 0s"
|
||||
"705d 00h 0m 0s"
|
||||
(cl-letf (((symbol-function 'current-time)
|
||||
(lambda ()
|
||||
(apply #'encode-time
|
||||
(org-parse-time-string "<2014-03-04 Tue>")))))
|
||||
(org-parse-time-string "<2014-03-04 Tue>" nil t)))))
|
||||
(org-test-with-temp-text
|
||||
"* H
|
||||
** S1
|
||||
|
@ -547,11 +547,11 @@
|
|||
(get-char-property (point) 'org-columns-value-modified)))))
|
||||
(should
|
||||
(equal
|
||||
"352d 12h 30m 0s"
|
||||
"352d 12h 0m 0s"
|
||||
(cl-letf (((symbol-function 'current-time)
|
||||
(lambda ()
|
||||
(apply #'encode-time
|
||||
(org-parse-time-string "<2014-03-04 Tue>")))))
|
||||
(org-parse-time-string "<2014-03-04 Tue>" nil t)))))
|
||||
(org-test-with-temp-text
|
||||
"* H
|
||||
** S1
|
||||
|
|
Loading…
Reference in New Issue