From 1ee403ce932ced1d4d5562706e1ec12cc4eb1d87 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 30 Jun 2025 12:48:36 -0700 Subject: [PATCH] std.io.Reader: add doctest for streamDelimiterLimit --- lib/std/io/Reader.zig | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/std/io/Reader.zig b/lib/std/io/Reader.zig index 27f2239e9a..4384d2d0cc 100644 --- a/lib/std/io/Reader.zig +++ b/lib/std/io/Reader.zig @@ -1345,7 +1345,6 @@ test streamDelimiter { var out_buffer: [10]u8 = undefined; var r: Reader = .fixed("foo\nbars"); var w: Writer = .fixed(&out_buffer); - // Short streams are possible with this function but not with fixed. try testing.expectEqual(3, try r.streamDelimiter(&w, '\n')); try testing.expectEqualStrings("foo", w.buffered()); try testing.expectEqual(0, try r.streamDelimiter(&w, '\n')); @@ -1357,7 +1356,6 @@ test streamDelimiterEnding { var out_buffer: [10]u8 = undefined; var r: Reader = .fixed("foo\nbars"); var w: Writer = .fixed(&out_buffer); - // Short streams are possible with this function but not with fixed. try testing.expectEqual(3, try r.streamDelimiterEnding(&w, '\n')); try testing.expectEqualStrings("foo", w.buffered()); r.toss(1); @@ -1368,7 +1366,14 @@ test streamDelimiterEnding { } test streamDelimiterLimit { - return error.Unimplemented; + var out_buffer: [10]u8 = undefined; + var r: Reader = .fixed("foo\nbars"); + var w: Writer = .fixed(&out_buffer); + try testing.expectError(error.StreamTooLong, r.streamDelimiterLimit(&w, '\n', .limited(2))); + try testing.expectEqual(1, try r.streamDelimiterLimit(&w, '\n', .limited(3))); + r.toss(1); + try testing.expectEqual(4, try r.streamDelimiterLimit(&w, '\n', .unlimited)); + try testing.expectEqualStrings("foobars", w.buffered()); } test discardDelimiterExclusive {