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)
|
((string-match-p org-ts-regexp s)
|
||||||
(floor
|
(floor
|
||||||
(- org-columns--time
|
(- 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.
|
;; Match own output for computations in upper levels.
|
||||||
((string-match "\\([0-9]+\\)d \\([0-9]+\\)h \\([0-9]+\\)m \\([0-9]+\\)s" s)
|
((string-match "\\([0-9]+\\)d \\([0-9]+\\)h \\([0-9]+\\)m \\([0-9]+\\)s" s)
|
||||||
(+ (* 86400 (string-to-number (match-string 1 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))))
|
(list (nth 4 d) (nth 3 d) (nth 5 d))))
|
||||||
((listp d) (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.
|
"Parse the standard Org time string.
|
||||||
|
|
||||||
This should be a lot faster than the normal `parse-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)
|
(cond ((string-match org-ts-regexp0 s)
|
||||||
(list 0
|
(list 0
|
||||||
(when (or (match-beginning 8) (not nodefault))
|
(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 4 s))
|
||||||
(string-to-number (match-string 3 s))
|
(string-to-number (match-string 3 s))
|
||||||
(string-to-number (match-string 2 s))
|
(string-to-number (match-string 2 s))
|
||||||
nil nil nil))
|
nil nil zone))
|
||||||
((string-match "^<[^>]+>$" s)
|
((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))))
|
(t (error "Not a standard Org time string: %s" s))))
|
||||||
|
|
||||||
(defun org-timestamp-up (&optional arg)
|
(defun org-timestamp-up (&optional arg)
|
||||||
|
|
|
@ -513,7 +513,7 @@
|
||||||
(cl-letf (((symbol-function 'current-time)
|
(cl-letf (((symbol-function 'current-time)
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply #'encode-time
|
(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
|
(org-test-with-temp-text
|
||||||
"* H
|
"* H
|
||||||
** S1
|
** S1
|
||||||
|
@ -528,11 +528,11 @@
|
||||||
(get-char-property (point) 'org-columns-value-modified)))))
|
(get-char-property (point) 'org-columns-value-modified)))))
|
||||||
(should
|
(should
|
||||||
(equal
|
(equal
|
||||||
"705d 01h 0m 0s"
|
"705d 00h 0m 0s"
|
||||||
(cl-letf (((symbol-function 'current-time)
|
(cl-letf (((symbol-function 'current-time)
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply #'encode-time
|
(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
|
(org-test-with-temp-text
|
||||||
"* H
|
"* H
|
||||||
** S1
|
** S1
|
||||||
|
@ -547,11 +547,11 @@
|
||||||
(get-char-property (point) 'org-columns-value-modified)))))
|
(get-char-property (point) 'org-columns-value-modified)))))
|
||||||
(should
|
(should
|
||||||
(equal
|
(equal
|
||||||
"352d 12h 30m 0s"
|
"352d 12h 0m 0s"
|
||||||
(cl-letf (((symbol-function 'current-time)
|
(cl-letf (((symbol-function 'current-time)
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply #'encode-time
|
(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
|
(org-test-with-temp-text
|
||||||
"* H
|
"* H
|
||||||
** S1
|
** S1
|
||||||
|
|
Loading…
Reference in a new issue