changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > core / lisp/std/tests.lisp

revision 547: ac01164b4141
parent 503: 03c2017b1405
     1.1--- a/lisp/std/tests.lisp	Sun Jul 14 22:34:13 2024 -0400
     1.2+++ b/lisp/std/tests.lisp	Mon Jul 15 15:18:03 2024 -0400
     1.3@@ -251,16 +251,26 @@
     1.4                x) ;; 2
     1.5          '(42 42 2)))))
     1.6 
     1.7-(deftest bits (:skip t)
     1.8-  (define-bitfield testbits
     1.9-    (a boolean)
    1.10-    (b (signed-byte 2))
    1.11-    (c (unsigned-byte 3) :initform 1)
    1.12-    (d (integer -100 100))
    1.13-    (e (member foo bar baz)))
    1.14+(define-bitfield testbits
    1.15+  (a boolean)
    1.16+  (b (signed-byte 2))
    1.17+  (c (unsigned-byte 3) :initform 1)
    1.18+  (d (integer -100 100))
    1.19+  (e (member foo bar baz)))
    1.20+
    1.21+(deftest bits ()
    1.22   (let ((bits (make-testbits)))
    1.23     (is (not (testbits-a bits)))
    1.24     (is (= 0 (testbits-b bits)))
    1.25     (is (= 1 (testbits-c bits)))
    1.26     (is (= -100 (testbits-d bits)))
    1.27     (is (eql 'foo (testbits-e bits)))))
    1.28+
    1.29+(deftest leb128 ()
    1.30+  (loop for i from 0 below 1000
    1.31+        do (is (= i (decode-uleb128 (encode-uleb128 i)))))
    1.32+  (signals division-by-zero (decode-uleb128 (encode-uleb128 -1)))
    1.33+  (loop for i from -1000 below 0
    1.34+        do (is (= i (decode-leb128 (encode-leb128 i))))
    1.35+        do (is (= (* i i) (decode-leb128 (encode-leb128 (* i i)))))))
    1.36+