summaryrefslogtreecommitdiff
path: root/tests/monads.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/monads.scm')
-rw-r--r--tests/monads.scm17
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"))