aboutsummaryrefslogtreecommitdiffstats
path: root/src/frame.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/frame.rs')
-rw-r--r--src/frame.rs32
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);
+ }
+ }
+}