diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2016-06-09 23:28:17 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2016-06-09 23:34:56 +0200 |
| commit | 638c5b79397aba92ab3211a1ea3b3418e112ec66 (patch) | |
| tree | e20df5c0e8a2429d038a1f5ed67790b1f18349e9 | |
| parent | 2eca2d6267ae18e28dd63d72b1a37f784c7cad9e (diff) | |
ui: 'string->duration' supports hours and seconds.
* guix/ui.scm (string->duration): Add seconds and hours.
* tests/ui.scm ("duration, 1 second"): New test.
| -rw-r--r-- | guix/ui.scm | 10 | ||||
| -rw-r--r-- | tests/ui.scm | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index cbc9dc841ac..4d1b65cb8a8 100644 --- a/guix/ui.scm +++ b/guix/ui.scm | |||
| @@ -968,7 +968,15 @@ following patterns: \"1d\", \"1w\", \"1m\"." | |||
| 968 | (make-time time-duration 0 | 968 | (make-time time-duration 0 |
| 969 | (* 3600 hours (string->number (match:substring match 1))))) | 969 | (* 3600 hours (string->number (match:substring match 1))))) |
| 970 | 970 | ||
| 971 | (cond ((string-match "^([0-9]+)d$" str) | 971 | (cond ((string-match "^([0-9]+)s$" str) |
| 972 | => | ||
| 973 | (lambda (match) | ||
| 974 | (make-time time-duration 0 | ||
| 975 | (string->number (match:substring match 1))))) | ||
| 976 | ((string-match "^([0-9]+)h$" str) | ||
| 977 | (lambda (match) | ||
| 978 | (hours->duration 1 match))) | ||
| 979 | ((string-match "^([0-9]+)d$" str) | ||
| 972 | => | 980 | => |
| 973 | (lambda (match) | 981 | (lambda (match) |
| 974 | (hours->duration 24 match))) | 982 | (hours->duration 24 match))) |
diff --git a/tests/ui.scm b/tests/ui.scm index 51577acb76f..058207e8b95 100644 --- a/tests/ui.scm +++ b/tests/ui.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; | 3 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 4 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 5 | ;;; |
| @@ -189,6 +189,10 @@ Second line" 24)) | |||
| 189 | (string->duration "1m") | 189 | (string->duration "1m") |
| 190 | (string->duration "30d")) | 190 | (string->duration "30d")) |
| 191 | 191 | ||
| 192 | (test-equal "duration, 1 second" | ||
| 193 | (make-time time-duration 0 1) | ||
| 194 | (string->duration "1s")) | ||
| 195 | |||
| 192 | (test-equal "duration, integer" | 196 | (test-equal "duration, integer" |
| 193 | #f | 197 | #f |
| 194 | (string->duration "1")) | 198 | (string->duration "1")) |
