aboutsummaryrefslogtreecommitdiff
path: root/tests/tbitreader.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tbitreader.nim')
-rw-r--r--tests/tbitreader.nim23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/tbitreader.nim b/tests/tbitreader.nim
index 8285f63..294f6c9 100644
--- a/tests/tbitreader.nim
+++ b/tests/tbitreader.nim
@@ -49,6 +49,29 @@ suite "bitreader":
49 expect IOError: discard bitReader.readBits(16, uint16) 49 expect IOError: discard bitReader.readBits(16, uint16)
50 check bitReader.atEnd() 50 check bitReader.atEnd()
51 51
52 test "readBits (look-ahead overflow)":
53 let stream = newStringStream()
54 defer: stream.close()
55 stream.write(0xAB'u8)
56 stream.setPosition(0)
57
58 let bitReader = stream.bitReader()
59 check bitReader.readBits(4, uint16) == 0x000B'u16
60 check bitReader.readBits(4, uint16) == 0x000A'u16
61 check bitReader.atEnd()
62
63 test "readBits (from buffer composition)":
64 let stream = newStringStream()
65 defer: stream.close()
66 stream.write(0xABCD'u16)
67 stream.setPosition(0)
68
69 let bitReader = stream.bitReader()
70 check bitReader.readBits(4, uint16) == 0x000D'u16
71 check bitReader.readBits(8, uint16) == 0x00BC'u16
72 check bitReader.readBits(4, uint16) == 0x000A'u16
73 check bitReader.atEnd()
74
52 test "readSeq": 75 test "readSeq":
53 let stream = newStringStream() 76 let stream = newStringStream()
54 defer: stream.close() 77 defer: stream.close()