diff options
author | Eric Bavier <bavier@member.fsf.org> | 2016-09-20 15:41:31 -0500 |
---|---|---|
committer | Eric Bavier <bavier@member.fsf.org> | 2016-10-07 07:42:05 -0500 |
commit | b8b129ebd8d017c957094f3d977a1c452d7d450f (patch) | |
tree | 5fa5860e6e7725c1cffae5da6b282ef82bb09e07 /tests/utils.scm | |
parent | 347df60158a11abbc9b84ac36cd113362d7e09e0 (diff) |
utils: Support defaults in substitute-keyword-arguments.
* guix/utils.scm (collect-default-args, expand-default-args): New
syntax.
(substitute-keyword-arguments): Allow default value declarations.
* tests/utils.scm (substitute-keyword-arguments): New test.
Diffstat (limited to 'tests/utils.scm')
-rw-r--r-- | tests/utils.scm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/utils.scm b/tests/utils.scm index 960928c842..bcfaa14faa 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -123,6 +123,26 @@ (default-keyword-arguments '(#:bar 3) '(#:foo 2)) (default-keyword-arguments '(#:foo 2 #:bar 3) '(#:bar 6)))) +(test-equal "substitute-keyword-arguments" + '((#:foo 3) + (#:foo 3) + (#:foo 3 #:bar (1 2)) + (#:bar (1 2) #:foo 3) + (#:foo 3)) + (list (substitute-keyword-arguments '(#:foo 2) + ((#:foo f) (1+ f))) + (substitute-keyword-arguments '() + ((#:foo f 2) (1+ f))) + (substitute-keyword-arguments '(#:foo 2 #:bar (2)) + ((#:foo f) (1+ f)) + ((#:bar b) (cons 1 b))) + (substitute-keyword-arguments '(#:foo 2) + ((#:foo _) 3) + ((#:bar b '(2)) (cons 1 b))) + (substitute-keyword-arguments '(#:foo 2) + ((#:foo f 1) (1+ f)) + ((#:bar b) (cons 42 b))))) + (test-assert "filtered-port, file" (let* ((file (search-path %load-path "guix.scm")) (input (open-file file "r0b"))) |