Test append on dotted lists. I broked it.
authorTaylor R Campbell <campbell@mumble.net>
Sat, 23 Feb 2019 03:16:30 +0000 (03:16 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Sat, 23 Feb 2019 03:19:38 +0000 (03:19 +0000)
tests/runtime/test-list.scm

index 8fe5c174dd0c3f41623898ed18eb9568adddcf50..22120405b2da55705a00bfd92c8019e94ef81a2b 100644 (file)
@@ -36,6 +36,22 @@ USA.
       (let ((n-bytes (- stack-end stack-start)))
        (quotient n-bytes bytes-per-word)))))
 
+(define-test 'append-dotted
+  (lambda ()
+    (assert-equal (append 'x) 'x)
+    (assert-equal (append '(x) 'y) '(x . y))
+    (expect-error
+     (lambda ()
+       (assert-equal (append '(x) '(y) 'z) '(x y . z))))))
+
+(define-test 'append!-dotted
+  (lambda ()
+    (assert-equal (append! 'x) 'x)
+    (assert-equal (append! (list 'x) 'y) '(x . y))
+    (expect-error
+     (lambda ()
+       (assert-equal (append! (list 'x) (list 'y) 'z) '(x y . z))))))
+
 (define-test 'map-long
   (lambda ()
     (let* ((n (words-in-stack))