ps_buffer/implementations/
display.rs1use std::fmt::{Display, Formatter, Result};
2
3use crate::Buffer;
4
5impl Display for Buffer {
6 fn fmt(&self, f: &mut Formatter<'_>) -> Result {
8 write!(f, "<Buffer ")?;
9
10 for (i, byte) in self.as_slice().iter().enumerate() {
11 if i > 0 {
12 write!(f, " ")?;
13 }
14 write!(f, "{byte:02x}")?;
15 }
16
17 write!(f, ">")
18 }
19}
20
21#[cfg(test)]
22mod tests {
23 use crate::{Buffer, BufferError};
24
25 #[test]
26 pub fn deadbeef() -> Result<(), BufferError> {
27 let buffer = Buffer::from_slice(b"\xde\xad\xbe\xef")?;
28 let pretty = buffer.to_string();
29
30 assert_eq!(pretty, "<Buffer de ad be ef>");
31
32 Ok(())
33 }
34}