diff --git a/test-suite/tests/srfi-1.test b/test-suite/tests/srfi-1.test index 626841ebe..4b4bf392c 100644 --- a/test-suite/tests/srfi-1.test +++ b/test-suite/tests/srfi-1.test @@ -313,6 +313,26 @@ (pass-if (not (length+ (circular-list 1 2)))) (pass-if (not (length+ (circular-list 1 2 3))))) +;; +;; list-copy +;; + +(with-test-prefix "list-copy" + + ;; improper lists can be copied + (pass-if (equal? '() (list-copy '()))) + (pass-if (equal? '(1 2) (list-copy '(1 2)))) + (pass-if (equal? '(1 2 3) (list-copy '(1 2 3)))) + (pass-if (equal? '(1 2 3 4) (list-copy '(1 2 3 4)))) + (pass-if (equal? '(1 2 3 4 5) (list-copy '(1 2 3 4 5)))) + + ;; improper lists can be copied + (pass-if (equal? 1 (list-copy 1))) + (pass-if (equal? '(1 . 2) (list-copy '(1 . 2)))) + (pass-if (equal? '(1 2 . 3) (list-copy '(1 2 . 3)))) + (pass-if (equal? '(1 2 3 . 4) (list-copy '(1 2 3 . 4)))) + (pass-if (equal? '(1 2 3 4 . 5) (list-copy '(1 2 3 4 . 5))))) + ;; ;; take ;;