diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-10-27 07:29:38 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-10-27 07:32:49 -0400 |
commit | e7cf81e813dd5ee0ba5af9d5ad4354351da95b2d (patch) | |
tree | 42c6f3167dfca53d19ed1f7b96091c19a6bc8d5e /src/creator.rs | |
parent | 4d7d1006b0daec59ea94b4ebfa7a5ebf1c316f31 (diff) | |
download | ttyrec-e7cf81e813dd5ee0ba5af9d5ad4354351da95b2d.tar.gz ttyrec-e7cf81e813dd5ee0ba5af9d5ad4354351da95b2d.zip |
split frame into frame and frame_at
keep the api easy to use while still letting it be testable
Diffstat (limited to 'src/creator.rs')
-rw-r--r-- | src/creator.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/creator.rs b/src/creator.rs index 666ffc7..fb228dd 100644 --- a/src/creator.rs +++ b/src/creator.rs @@ -8,7 +8,11 @@ impl Creator { Default::default() } - pub fn frame( + pub fn frame(&mut self, data: &[u8]) -> crate::frame::Frame { + self.frame_at(std::time::Instant::now(), data) + } + + pub fn frame_at( &mut self, cur_time: std::time::Instant, data: &[u8], @@ -42,12 +46,12 @@ mod test { let base_time = std::time::Instant::now(); let zero_frame: Vec<u8> = - std::convert::TryFrom::try_from(creator.frame(base_time, b"")) + std::convert::TryFrom::try_from(creator.frame_at(base_time, b"")) .unwrap(); assert_eq!(zero_frame, vec![0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); let data_frame: Vec<u8> = - std::convert::TryFrom::try_from(creator.frame( + std::convert::TryFrom::try_from(creator.frame_at( base_time + std::time::Duration::new(38, 123_456_000), b"\x1b[2Jfoobar", )) |