string)
(cond
((string-equal spec "z")
- (setq chop-leading (and leading-zeropos
- (min leading-zeropos (match-beginning 0)))))
+ (setq chop-leading
+ (if leading-zeropos
+ (min leading-zeropos (match-beginning 0))
+ ;; The entire spec is zero, get past "%z" to last 0.
+ (+ 2 (match-beginning 0)))))
((string-equal spec "x")
(setq chop-trailing t))
(t
(should (equal (format-seconds "%hh %z%x%mm %ss" (* 60 2)) "2m"))
(should (equal (format-seconds "%hh %z%mm %ss" (* 60 2)) "2m 0s"))
(should (equal (format-seconds "%hh %x%mm %ss" (* 60 2)) "0h 2m"))
- (should (equal (format-seconds "%hh %x%mm %ss" 0) "0h 0m 0s")))
+ (should (equal (format-seconds "%hh %x%mm %ss" 0) "0h 0m 0s"))
+ ;; Bug#70322
+ (should (equal (format-seconds "%y %z%d %h %m %s %%" 9999999) "115 17 46 39 %"))
+ (should (equal (format-seconds "%Y, %D, %H, %M, %z%S" 0) "0 seconds")))
(ert-deftest test-ordinal ()
(should (equal (date-ordinal-to-time 2008 271)