preserves-nim/tests/test_buffereddecoder.nim

24 lines
556 B
Nim
Raw Normal View History

2023-05-20 12:53:21 +00:00
# SPDX-FileCopyrightText: 2021 ☭ Emery Hemingway
# SPDX-License-Identifier: Unlicense
2023-08-05 19:22:43 +00:00
import std/unittest
2023-05-20 12:53:21 +00:00
import preserves
suite "BufferedDecoder":
test "half-string":
var
buf = newBufferedDecoder()
pr = Preserve[void](kind: pkByteString, bytes: newSeq[byte](23))
ok: bool
for i, _ in pr.bytes:
pr.bytes[i] = byte(i)
let bin = encode(pr)
for i in 0..32:
checkpoint $i
let j = (i+2) and 0xf
feed(buf, bin[0..<j])
feed(buf, bin[j..bin.high])
(ok, pr) = decode(buf)
assert ok