aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaweł Palenica <pawelpalenica11@gmail.com>2021-07-13 23:46:36 -0700
committerPaweł Palenica <pawelpalenica11@gmail.com>2021-07-13 23:46:36 -0700
commit3326f521efd33cdfbe9df3d6f44ddd9042897943 (patch)
tree1fca93c65492e9cd20f881f5ae8394b6849a3720
parentsmall touchups (diff)
downloadsl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.tar.gz
sl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.tar.xz
sl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.zip
Fix clippy
-rw-r--r--zellij-server/src/logging_pipe.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/zellij-server/src/logging_pipe.rs b/zellij-server/src/logging_pipe.rs
index e1d7acc5..eecfa2d3 100644
--- a/zellij-server/src/logging_pipe.rs
+++ b/zellij-server/src/logging_pipe.rs
@@ -91,7 +91,7 @@ impl Write for LoggingPipe {
while let Some(msg) = split_converted_buffer.next() {
if split_converted_buffer.peek().is_none() {
// Log last chunk iff the last char is endline. Otherwise do not do it.
- if converted_buffer.chars().last().unwrap() == '\n' && !msg.is_empty() {
+ if converted_buffer.ends_with('\n') && !msg.is_empty() {
self.log_message(msg);
consumed_bytes += msg.len() + 1;
}
@@ -239,4 +239,20 @@ mod logging_pipe_test {
println!("len: {}, buf: {:?}", test_buffer.len(), test_buffer);
}
+
+ #[test]
+ fn write_with_many_endls_consumes_everything_after_flush() {
+ let mut pipe = LoggingPipe::new("TestPipe", 0);
+ let test_buffer = "Testing write \n".as_bytes();
+
+ pipe.write(
+ [test_buffer, test_buffer, b"\n", b"\n", b"\n"]
+ .concat()
+ .as_slice(),
+ )
+ .expect("Err write");
+ pipe.flush().expect("Err flush");
+
+ assert_eq!(pipe.buffer.len(), 0);
+ }
}