X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Floop.pure.lisp;h=f282deaf6c0986532c035ba01cd8d4ff370186bc;hb=a96eb725c8b9082a576d2ea51a42cdc31fde3ea0;hp=77653bc06be16d3085f3b00786d582d7ade70a89;hpb=89f1990cfd886b8ea3706de9f5b9215fbe7310b6;p=sbcl.git diff --git a/tests/loop.pure.lisp b/tests/loop.pure.lisp index 77653bc..f282dea 100644 --- a/tests/loop.pure.lisp +++ b/tests/loop.pure.lisp @@ -80,3 +80,26 @@ (assert (= (loop for nil being the external-symbols of :cl count t) 978)) (assert (= (loop for x being the external-symbols of :cl count x) 977)) + +(let ((*package* (find-package :cl))) + (assert (= (loop for x being each external-symbol count t) 978))) + +(assert (eq (loop for a = (return t) return nil) t)) + +(multiple-value-bind (result error) + (ignore-errors + (loop for nil being the external-symbols of :nonexistent-package + count t)) + (assert (null result)) + (assert (typep error 'package-error))) + +(assert (equal (loop for i from 1 repeat (the (integer 7 7) 7) collect i) + '(1 2 3 4 5 6 7))) + +(multiple-value-bind (result error) + (ignore-errors (eval '(loop for i from 1 repeat 7 of-type fixnum collect i))) + (assert (null result)) + (assert (typep error 'program-error))) + +(assert (equal (ignore-errors (loop for i from 1 repeat 6.5 collect i)) + (ignore-errors (loop for i from 1 repeat (eval '6.5) collect i))))