Login
7 branches 0 tags
Ben (X13/Arch) Revert "Improved lClosure heap size" 64e9345 2 years ago 967 Commits
nujel / tests / testsuite / buffer.nuj
("#m" (string/write (buffer/allocate 0)))
("#m00" (string/write (buffer/allocate 1)))
("#m0000" (string/write (buffer/allocate 2)))
("#m000000" (string/write (buffer/allocate 3)))
(0 (-> (buffer/allocate 0) buffer/length))
(1 (-> (buffer/allocate 1) buffer/length))
(2 (-> (buffer/allocate 2) buffer/length))
(514 (buffer/length (string/write (buffer/allocate 256))))
(514 (buffer/length (string/write (-> (buffer/allocate 0) (buffer/length! 256)))))
(#t (buffer/immutable? #m))
(#f (buffer/immutable? (buffer/allocate 0)))
(#f (= (buffer/allocate 0) (buffer/allocate 0)))
(#t (let ((b (buffer/allocate 0))) (= b b)))
(#f (let ((b (buffer/allocate 0))) (< b b)))
(#f (let ((b (buffer/allocate 0))) (> b b)))
(#t (let ((b #m1234)) (= b b)))
(#f (buffer/immutable? (buffer/dup #m12)))
(#t (buffer/immutable? (buffer/dup #m12 #t)))
(#f (let ((b (buffer/allocate 0))) (= b (buffer/dup b))))
(#x12 (ref (buffer/u8* #m12) 0))
(#x34 (ref (buffer/u8* #m1234) 1))
(255 (ref (buffer/u8* #mFF) 0))
(-1 (ref (buffer/s8* #mFF) 0))
(127 (ref (buffer/s8* #m7F) 0))
(-128 (ref (buffer/s8* #m80) 0))
(:out-of-bounds (try car (ref (buffer/u8* #m12) 1)))
(:type-error (try car (ref (buffer/u8* #m12 #f) 0)))
(#x56 (-> (buffer/allocate 1) buffer/u8* (buffer/set! 0 #x56) (ref 0)))
("#m00010203" (-> (buffer/allocate 4) buffer/u8* (buffer/set! 0 0) (buffer/set! 1 1) (buffer/set! 2 2) (buffer/set! 3 3) buffer-view->buffer string/write))
(#f (-> (buffer/allocate 1) buffer/u8* buffer/immutable?))
(1000 (-> (buffer/allocate 2) buffer/u16* (buffer/set! 0 1000) (ref 0)))
(64536 (-> (buffer/allocate 2) buffer/u16* (buffer/set! 0 -1000) (ref 0)))
(-1000 (-> (buffer/allocate 2) buffer/s16* (buffer/set! 0 -1000) (ref 0)))
(1000 (-> (buffer/allocate 2) buffer/s16* (buffer/set! 0 1000) (ref 0)))
(100000 (-> (buffer/allocate 4) buffer/s32* (buffer/set! 0 100000) (ref 0)))
(-100000 (-> (buffer/allocate 4) buffer/s32* (buffer/set! 0 -100000) (ref 0)))
(100000 (-> (buffer/allocate 4) buffer/u32* (buffer/set! 0  100000) (ref 0)))
(4294867296 (-> (buffer/allocate 4) buffer/u32* (buffer/set! 0 -100000) (ref 0)))
(10000000000 (-> (buffer/allocate 8) buffer/s64* (buffer/set! 0 10000000000) (ref 0)))
(1000.0 (-> (buffer/allocate 8) buffer/f32* (buffer/set! 0 1000) (ref 0)))
(1000.5 (-> (buffer/allocate 8) buffer/f32* (buffer/set! 0 1000.5) (ref 0)))
(1000.0 (-> (buffer/allocate 8) buffer/f64* (buffer/set! 0 1000) (ref 0)))
(1000.5 (-> (buffer/allocate 8) buffer/f64* (buffer/set! 0 1000.5) (ref 0)))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/s8* (ref 9))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/u8* (ref 9))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/u16* (ref 5))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/s16* (ref 5))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/s32* (ref 3))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/f32* (ref 3))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/f64* (ref 1))))
(:out-of-bounds (try car (-> (buffer/allocate 8) buffer/s64* (ref 1))))
(:out-of-bounds (try car (-> (buffer/allocate 15) buffer/s64* (ref 1))))
("#m" (string/write (string->buffer "")))
("#m2030313233" (string/write (string->buffer " 0123")))
("" (buffer->string #m))
(" 0123" (buffer->string #m2030313233))
("0123" (buffer->string (buffer/copy (buffer/allocate 4) "0123" 0)))
(:out-of-bounds (try car (buffer->string (buffer/copy (buffer/allocate 4) "0123" 1))))
("1122" (buffer->string (buffer/copy (buffer/copy (buffer/allocate 4) "11" 0) "22" 2)))