summaryrefslogtreecommitdiffstats
path: root/src/process/testutil/handle_event_test.rs
blob: 268570eaca898f51b5dce4982c09f341d8131a72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use crate::{
	input::{testutil::with_event_handler, Event, EventHandler},
	view::{testutil::with_view_sender, ViewSender},
};

pub struct TestContext {
	pub event_handler: EventHandler,
	pub view_sender: ViewSender,
}

pub fn handle_event_test<C>(events: &[Event], callback: C)
where C: FnOnce(TestContext) {
	with_view_sender(|view_sender_context| {
		with_event_handler(events, |event_handler_context| {
			callback(TestContext {
				event_handler: event_handler_context.event_handler,
				view_sender: view_sender_context.sender,
			});
		});
	});
}