diff options
Diffstat (limited to 'tests/monads.scm')
-rw-r--r-- | tests/monads.scm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/monads.scm b/tests/monads.scm index 5514c8386c..6e3dd00f72 100644 --- a/tests/monads.scm +++ b/tests/monads.scm @@ -32,7 +32,7 @@ #:use-module (srfi srfi-26) #:use-module (srfi srfi-64)) -;; Test the (guix store) module. +;; Test the (guix monads) module. (define %store (open-connection-for-tests)) @@ -99,6 +99,21 @@ %monads %monad-run)) +(test-assert "mbegin" + (every (lambda (monad run) + (with-monad monad + (let* ((been-there? #f) + (number (mbegin monad + (return 1) + (begin + (set! been-there? #t) + (return 2)) + (return 3)))) + (and (= (run number) 3) + been-there?)))) + %monads + %monad-run)) + (test-assert "mlet* + text-file + package-file" (run-with-store %store (mlet* %store-monad ((guile (package-file %bootstrap-guile "bin/guile")) |