authorgravatar for greenblattryan@gmail.comrgreenblatt <greenblattryan@gmail.com> 2021-02-13 20:17:09-05:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2021-02-21 11:48:38+02:00
logf9be7471bc9a35fcb872a83564d41cdf561ca173
treec15fd1bf2d5600c537663699e216e198d610a7e2
parent340825a7afeb1909ab81c1e0258b81ff67323a2b

fix readable slice bug (and add tests)


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

lib/std/fifo.zig+3-1
......@@ -153,7 +153,7 @@ pub fn LinearFifo(
153153 var start = self.head + offset;
154154 if (start >= self.buf.len) {
155155 start -= self.buf.len;
156 return self.buf[start .. self.count - offset];
156 return self.buf[start .. start + (self.count - offset)];
157157 } else {
158158 const end = math.min(self.head + self.count, self.buf.len);
159159 return self.buf[start..end];
......@@ -427,6 +427,8 @@ test "LinearFifo(u8, .Dynamic)" {
427427 fifo.writeAssumeCapacity("6<chars<11");
428428 testing.expectEqualSlices(u8, "HELLO6<char", fifo.readableSlice(0));
429429 testing.expectEqualSlices(u8, "s<11", fifo.readableSlice(11));
430 testing.expectEqualSlices(u8, "11", fifo.readableSlice(13));
431 testing.expectEqualSlices(u8, "", fifo.readableSlice(15));
430432 fifo.discard(11);
431433 testing.expectEqualSlices(u8, "s<11", fifo.readableSlice(0));
432434 fifo.discard(4);