From 7e30de04a875d06812ae00ac8249b85c57136baa Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Tue, 29 Jan 2013 21:54:09 +0900 Subject: [PATCH] Adding define-values corner case tests. --- tests/r7rs-tests.scm | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/tests/r7rs-tests.scm b/tests/r7rs-tests.scm index 4cb966f9..a6919ed1 100644 --- a/tests/r7rs-tests.scm +++ b/tests/r7rs-tests.scm @@ -385,9 +385,30 @@ (define bar (lambda (a b) (+ (* a b) a))) (foo (+ x 3)))) -(test 3 (let () - (define-values (x y) (values 1 2)) - (+ x y))) +(test 'ok + (let () + (define-values () (values)) + 'ok)) +(test 1 + (let () + (define-values (x) (values 1)) + x)) +(test 3 + (let () + (define-values x (values 1 2)) + (apply + x))) +(test 3 + (let () + (define-values (x y) (values 1 2)) + (+ x y))) +(test 6 + (let () + (define-values (x y z) (values 1 2 3)) + (+ x y z))) +(test 10 + (let () + (define-values (x y . z) (values 1 2 3 4)) + (+ x y (car z) (cadr z)))) (test '(2 1) (let ((x 1) (y 2)) (define-syntax swap!