X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Flist.pure.lisp;h=9bf32a8cee87e20787b8158c2f5650c6eb38f535;hb=cd1f265dd851941557ed3f764248c339c07493a9;hp=cb93d282a1ed712aeb107afef51c29991137f728;hpb=6f1507bc47503d08288c72426b4e42011d909725;p=sbcl.git diff --git a/tests/list.pure.lisp b/tests/list.pure.lisp index cb93d28..9bf32a8 100644 --- a/tests/list.pure.lisp +++ b/tests/list.pure.lisp @@ -101,10 +101,19 @@ args)))) (check-error (funcall (compile nil `(lambda () ,exp))) fail))))) -(dolist (test '((1 2) - ((1 2) nil (3 . 4) nil) - (nil (1 2) nil (3 . 4) nil))) - (multiple-value-bind (result error) - (ignore-errors (apply 'append test)) - (assert (null result)) - (assert (typep error 'type-error)))) +(dolist (test '((append 1 2) + (append (1 2) nil (3 . 4) nil) + (append nil (1 2) nil (3 . 4) nil) + (reverse (1 2 . 3)) + (nreverse (1 2 . 3)) + (nreconc (1 2 . 3) (4 5)) + (copy-alist ((1 . 2) (3 . 4) . 5)))) + (assert (raises-error? (apply (first test) (copy-tree (rest test))) + type-error))) + +;;; Bug reported by Paul Dietz: NSET-EXCLUSIVE-OR should not return +;;; extra elements, even when given "sets" contain duplications +(assert (equal (remove-duplicates (sort (nset-exclusive-or (list 1 2 1 3) + (list 4 1 3 3)) + #'<)) + '(2 4)))