authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-06-30 12:48:36-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-07 22:43:51-07:00
log1ee403ce932ced1d4d5562706e1ec12cc4eb1d87
tree239a2a9bcdfbb7dacf04630d67e9185c6e804b18
parent435ccf706d09e269db08e070b9fa957e7b40f30c

std.io.Reader: add doctest for streamDelimiterLimit


1 files changed, 8 insertions(+), 3 deletions(-)

lib/std/io/Reader.zig+8-3
...@@ -1345,7 +1345,6 @@ test streamDelimiter {...@@ -1345,7 +1345,6 @@ test streamDelimiter {
1345 var out_buffer: [10]u8 = undefined;1345 var out_buffer: [10]u8 = undefined;
1346 var r: Reader = .fixed("foo\nbars");1346 var r: Reader = .fixed("foo\nbars");
1347 var w: Writer = .fixed(&out_buffer);1347 var w: Writer = .fixed(&out_buffer);
1348 // Short streams are possible with this function but not with fixed.
1349 try testing.expectEqual(3, try r.streamDelimiter(&w, '\n'));1348 try testing.expectEqual(3, try r.streamDelimiter(&w, '\n'));
1350 try testing.expectEqualStrings("foo", w.buffered());1349 try testing.expectEqualStrings("foo", w.buffered());
1351 try testing.expectEqual(0, try r.streamDelimiter(&w, '\n'));1350 try testing.expectEqual(0, try r.streamDelimiter(&w, '\n'));
...@@ -1357,7 +1356,6 @@ test streamDelimiterEnding {...@@ -1357,7 +1356,6 @@ test streamDelimiterEnding {
1357 var out_buffer: [10]u8 = undefined;1356 var out_buffer: [10]u8 = undefined;
1358 var r: Reader = .fixed("foo\nbars");1357 var r: Reader = .fixed("foo\nbars");
1359 var w: Writer = .fixed(&out_buffer);1358 var w: Writer = .fixed(&out_buffer);
1360 // Short streams are possible with this function but not with fixed.
1361 try testing.expectEqual(3, try r.streamDelimiterEnding(&w, '\n'));1359 try testing.expectEqual(3, try r.streamDelimiterEnding(&w, '\n'));
1362 try testing.expectEqualStrings("foo", w.buffered());1360 try testing.expectEqualStrings("foo", w.buffered());
1363 r.toss(1);1361 r.toss(1);
...@@ -1368,7 +1366,14 @@ test streamDelimiterEnding {...@@ -1368,7 +1366,14 @@ test streamDelimiterEnding {
1368}1366}
13691367
1370test streamDelimiterLimit {1368test streamDelimiterLimit {
1371 return error.Unimplemented;1369 var out_buffer: [10]u8 = undefined;
1370 var r: Reader = .fixed("foo\nbars");
1371 var w: Writer = .fixed(&out_buffer);
1372 try testing.expectError(error.StreamTooLong, r.streamDelimiterLimit(&w, '\n', .limited(2)));
1373 try testing.expectEqual(1, try r.streamDelimiterLimit(&w, '\n', .limited(3)));
1374 r.toss(1);
1375 try testing.expectEqual(4, try r.streamDelimiterLimit(&w, '\n', .unlimited));
1376 try testing.expectEqualStrings("foobars", w.buffered());
1372}1377}
13731378
1374test discardDelimiterExclusive {1379test discardDelimiterExclusive {