diff options
author | remgodow <remgodow@users.noreply.github.com> | 2020-09-14 15:57:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-14 15:57:41 +0200 |
commit | e8a3f31348d48bafaa2dbe818cf7bc850d4d3ec5 (patch) | |
tree | 9c1f08c179119b898a940eabcb679c8cb985477b /src/tests/cases/test_utils.rs | |
parent | d993d070a319c164096e6a1dc7b81cf3d3f409a2 (diff) |
feat(ui): crossplatform terminal resize handling using crossterm Event::Resize (#186)
Diffstat (limited to 'src/tests/cases/test_utils.rs')
-rw-r--r-- | src/tests/cases/test_utils.rs | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/tests/cases/test_utils.rs b/src/tests/cases/test_utils.rs index 7982a2d..bd90399 100644 --- a/src/tests/cases/test_utils.rs +++ b/src/tests/cases/test_utils.rs @@ -1,6 +1,6 @@ use crate::tests::fakes::{ - create_fake_dns_client, create_fake_on_winch, get_interfaces, get_open_sockets, KeyboardEvents, - NetworkFrames, TerminalEvent, TestBackend, + create_fake_dns_client, get_interfaces, get_open_sockets, NetworkFrames, TerminalEvent, + TerminalEvents, TestBackend, }; use std::iter; @@ -17,13 +17,23 @@ use packet_builder::payload::PayloadData; use pnet::packet::Packet; use pnet_base::MacAddr; -pub fn sleep_and_quit_events(sleep_num: usize) -> Box<KeyboardEvents> { +pub fn sleep_and_quit_events(sleep_num: usize) -> Box<TerminalEvents> { let mut events: Vec<Option<Event>> = iter::repeat(None).take(sleep_num).collect(); events.push(Some(Event::Key(KeyEvent { modifiers: KeyModifiers::CONTROL, code: KeyCode::Char('c'), }))); - Box::new(KeyboardEvents::new(events)) + Box::new(TerminalEvents::new(events)) +} + +pub fn sleep_resize_and_quit_events(sleep_num: usize) -> Box<TerminalEvents> { + let mut events: Vec<Option<Event>> = iter::repeat(None).take(sleep_num).collect(); + events.push(Some(Event::Resize(100, 100))); + events.push(Some(Event::Key(KeyEvent { + modifiers: KeyModifiers::CONTROL, + code: KeyCode::Char('c'), + }))); + Box::new(TerminalEvents::new(events)) } pub fn build_tcp_packet( @@ -114,9 +124,6 @@ pub fn os_input_output_factory( dns_client: Option<Client>, keyboard_events: Box<dyn Iterator<Item = Event> + Send>, ) -> OsInputOutput { - let on_winch = create_fake_on_winch(false); - let cleanup = Box::new(|| {}); - let write_to_stdout: Box<dyn FnMut(String) + Send> = match stdout { Some(stdout) => Box::new({ move |output: String| { @@ -131,10 +138,8 @@ pub fn os_input_output_factory( network_interfaces: get_interfaces(), network_frames, get_open_sockets, - keyboard_events, + terminal_events: keyboard_events, dns_client, - on_winch, - cleanup, write_to_stdout, } } |