diff options
| author | Paweł Palenica <pawelpalenica11@gmail.com> | 2021-07-13 23:46:36 -0700 |
|---|---|---|
| committer | Paweł Palenica <pawelpalenica11@gmail.com> | 2021-07-13 23:46:36 -0700 |
| commit | 3326f521efd33cdfbe9df3d6f44ddd9042897943 (patch) | |
| tree | 1fca93c65492e9cd20f881f5ae8394b6849a3720 | |
| parent | small touchups (diff) | |
| download | sl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.tar.gz sl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.tar.xz sl0ppij-3326f521efd33cdfbe9df3d6f44ddd9042897943.zip | |
Fix clippy
| -rw-r--r-- | zellij-server/src/logging_pipe.rs | 18 |
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); + } } |
