summaryrefslogtreecommitdiffstats
path: root/src/display/testutil.rs
blob: 3b1ddfea72afd55815a82010a30a1cb7a562b7c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use crate::config::Config;
use crate::display::curses::Curses;
use std::env::set_var;
use std::path::Path;

pub struct TestContext {
	pub config: Config,
	pub curses: Curses,
}

pub fn display_module_test<F>(callback: F)
where F: FnOnce(TestContext) {
	set_var(
		"GIT_DIR",
		Path::new(env!("CARGO_MANIFEST_DIR"))
			.join("test")
			.join("fixtures")
			.join("simple")
			.to_str()
			.unwrap(),
	);
	let config = Config::new().unwrap();
	let curses = Curses::new();
	callback(TestContext { config, curses });
}