From ff966c8d04213fd507c37fc1800558e8acf284c8 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 24 Aug 2021 17:17:55 -0600 Subject: [PATCH] Fix off-by-1 in Channel::messages_in_range Co-Authored-By: Max Brunsfeld --- zed/src/channel.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/zed/src/channel.rs b/zed/src/channel.rs index 42600781c9..2eea0d2a99 100644 --- a/zed/src/channel.rs +++ b/zed/src/channel.rs @@ -243,7 +243,7 @@ impl Channel { pub fn messages_in_range(&self, range: Range) -> impl Iterator { let mut cursor = self.messages.cursor::(); - cursor.seek(&Count(range.start), Bias::Left, &()); + cursor.seek(&Count(range.start), Bias::Right, &()); cursor.take(range.len()) } @@ -459,6 +459,15 @@ mod tests { new_count: 1, } ); + channel.read_with(&cx, |channel, _| { + assert_eq!( + channel + .messages_in_range(2..3) + .map(|message| &message.body) + .collect::>(), + &["c"] + ) + }) } struct FakeServer {