Files
c3c/test/unit/stdlib/io/limitreader.c3
Pierre Curto fd5336c56e lib/std/io/stream: add LimitReader (#858)
* lib/std/io/stream: add LimitReader

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>

* lib/std: more method conversions to use new receiver notation

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>

---------

Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
2023-07-17 20:22:29 +02:00

20 lines
441 B
C

module std::io @test;
fn void! limitreader()
{
const DATA = "Hello World!";
ByteReader src;
src.init(DATA);
const LIMIT = 5;
LimitReader lmr;
lmr.init(src.as_stream(), LIMIT);
char[DATA.len] bytes;
usz n = lmr.read(bytes[..])!;
assert(n == LIMIT, "got %d; want %d", n, LIMIT);
String got = (String)bytes[:n];
String want = DATA[:LIMIT];
assert(got == want, "got %d; want %d", got, want);
}