diff options
Diffstat (limited to 'src/display/testutil.rs')
-rw-r--r-- | src/display/testutil.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/display/testutil.rs b/src/display/testutil.rs index 3b1ddfe..e0d9e2f 100644 --- a/src/display/testutil.rs +++ b/src/display/testutil.rs @@ -1,15 +1,17 @@ use crate::config::Config; use crate::display::curses::Curses; +use crate::input::input_handler::InputHandler; use std::env::set_var; use std::path::Path; -pub struct TestContext { - pub config: Config, +pub struct TestContext<'t> { + pub config: &'t Config, pub curses: Curses, + pub input_handler: InputHandler<'t>, } pub fn display_module_test<F>(callback: F) -where F: FnOnce(TestContext) { +where F: FnOnce(TestContext<'_>) { set_var( "GIT_DIR", Path::new(env!("CARGO_MANIFEST_DIR")) @@ -21,5 +23,11 @@ where F: FnOnce(TestContext) { ); let config = Config::new().unwrap(); let curses = Curses::new(); - callback(TestContext { config, curses }); + curses.erase(); + let input_handler = InputHandler::new(&config.key_bindings); + callback(TestContext { + config: &config, + curses, + input_handler, + }); } |