summaryrefslogtreecommitdiffstats
path: root/src/module/tests.rs
blob: 0e1ae0f6924b0444877785bb6ffbcb085d8dcb78 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
use anyhow::anyhow;

use crate::{
	module::{Event, InputOptions, Module, State},
	test_helpers::create_test_keybindings,
	testutil::module_test,
};

struct TestModule;

impl Module for TestModule {}

#[test]
fn default_trait_method_activate() {
	let mut module = TestModule {};
	assert!(module.activate(State::List).artifact().is_none());
}

#[test]
fn default_trait_method_deactivate() {
	let mut module = TestModule {};
	assert!(module.deactivate().artifact().is_none());
}

#[test]
fn default_trait_method_build_view_data() {
	module_test(&[], &[], |context| {
		let mut module = TestModule {};
		let view_data = module.build_view_data(&context.render_context);
		assert!(view_data.is_empty());
	});
}

#[test]
fn default_trait_method_input_options() {
	let module = TestModule {};
	assert_eq!(module.input_options(), &InputOptions::RESIZE);
}

#[test]
fn default_trait_method_read_event() {
	let key_bindings = create_test_keybindings();
	let module = TestModule {};
	assert_eq!(module.read_event(Event::from('a'), &key_bindings), Event::from('a'));
}

#[test]
fn default_trait_method_handle_event() {
	module_test(&[], &[], |context| {
		let mut module = TestModule {};
		let mut result = module.handle_event(Event::from('a'), &context.view_context.state);
		assert!(result.artifact().is_none());
	});
}

#[test]
fn default_trait_method_handle_error() {
	let mut module = TestModule {};
	assert!(module.handle_error(&anyhow!("Error")).artifact().is_none());
}