Fix off-by-1 in Channel::messages_in_range
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
co-authored by
Max Brunsfeld
parent
3ad894b7e8
commit
ff966c8d04
+10
-1
@@ -243,7 +243,7 @@ impl Channel {
|
||||
|
||||
pub fn messages_in_range(&self, range: Range<usize>) -> impl Iterator<Item = &ChannelMessage> {
|
||||
let mut cursor = self.messages.cursor::<Count, ()>();
|
||||
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::<Vec<_>>(),
|
||||
&["c"]
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
struct FakeServer {
|
||||
|
||||
Reference in New Issue
Block a user