Files
c3c/test/unit/stdlib/io/bytebuffer.c3
Christoffer Lerno c4212c4649 - Test runner will also check for leaks.
- `write` of qoi would leak memory.
- Issue when having an empty `Path` or just "."
- `set_env` would leak memory.
2025-02-10 00:39:02 +01:00

29 lines
615 B
Plaintext

module std::io::bytebuffer @test;
import std::io;
fn void write_read()
{
ByteBuffer buffer;
buffer.new_init(0)!!;
defer buffer.free();
buffer.write("hello")!!;
char[8] bytes;
usz n = buffer.read(bytes[..])!!;
assert(n == 5);
assert((String)bytes[:n] == "hello");
buffer.write("hello world")!!;
n = buffer.read(bytes[..])!!;
assert(n == bytes.len);
assert((String)bytes[:n] == "hello wo");
assert(buffer.read_idx == 1);
char c = buffer.read_byte()!!;
assert(c == 'r');
buffer.pushback_byte()!!;
n = buffer.read(bytes[..])!!;
assert((String)bytes[:n] == "rld");
assert(buffer.read_idx == 1);
}