diff options
Diffstat (limited to 'src/frame.rs')
-rw-r--r-- | src/frame.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/frame.rs b/src/frame.rs index 4b72378..7558470 100644 --- a/src/frame.rs +++ b/src/frame.rs @@ -27,3 +27,35 @@ impl std::convert::TryFrom<Frame> for Vec<u8> { Ok(bytes) } } + +#[cfg(test)] +mod test { + use super::*; + use std::convert::TryFrom as _; + + #[test] + fn test_basic() { + let tests = vec![ + ( + Frame { + time: std::time::Duration::new(0, 0), + data: vec![], + }, + vec![0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ), + ( + Frame { + time: std::time::Duration::new(38, 123_456_000), + data: b"\x1b[2Jfoobar".to_vec(), + }, + vec![ + 38, 0, 0, 0, 64, 226, 1, 0, 10, 0, 0, 0, 27, 91, 50, 74, + 102, 111, 111, 98, 97, 114, + ], + ), + ]; + for (frame, bytes) in tests { + assert_eq!(Vec::<u8>::try_from(frame).unwrap(), bytes); + } + } +} |