Recreate repository due to Git object corruption (all files preserved)
This commit is contained in:
96
tests/key.rs
Normal file
96
tests/key.rs
Normal file
@@ -0,0 +1,96 @@
|
||||
use tui_orchestrator::input::{Key, KeyCode, KeyModifiers};
|
||||
|
||||
#[test]
|
||||
fn test_key_char() {
|
||||
let key = Key::char('a');
|
||||
assert_eq!(key.code, KeyCode::Char('a'));
|
||||
assert!(key.modifiers.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_ctrl() {
|
||||
let key = Key::ctrl('s');
|
||||
assert_eq!(key.code, KeyCode::Char('s'));
|
||||
assert!(key.modifiers.control);
|
||||
assert!(!key.modifiers.alt);
|
||||
assert!(!key.modifiers.shift);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_new() {
|
||||
let key = Key::new(KeyCode::Enter, KeyModifiers::new().with_alt());
|
||||
assert_eq!(key.code, KeyCode::Enter);
|
||||
assert!(key.modifiers.alt);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_from_keycode() {
|
||||
let key = Key::from(KeyCode::Esc);
|
||||
assert_eq!(key.code, KeyCode::Esc);
|
||||
assert!(key.modifiers.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_display_char() {
|
||||
let key = Key::char('x');
|
||||
let display = key.display_string();
|
||||
assert!(display.contains('x'));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_display_ctrl() {
|
||||
let key = Key::ctrl('c');
|
||||
let display = key.display_string();
|
||||
assert!(display.contains("Ctrl+"));
|
||||
assert!(display.contains('c'));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_display_all_modifiers() {
|
||||
let key = Key::new(
|
||||
KeyCode::Char('a'),
|
||||
KeyModifiers::new().with_control().with_alt().with_shift(),
|
||||
);
|
||||
let display = key.display_string();
|
||||
assert!(display.contains("Ctrl+"));
|
||||
assert!(display.contains("Alt+"));
|
||||
assert!(display.contains("Shift+"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_display_special() {
|
||||
let key = Key::new(KeyCode::F(5), KeyModifiers::new());
|
||||
let display = key.display_string();
|
||||
assert!(display.contains("F5"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_modifiers_new() {
|
||||
let mods = KeyModifiers::new();
|
||||
assert!(!mods.control);
|
||||
assert!(!mods.alt);
|
||||
assert!(!mods.shift);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_modifiers_builders() {
|
||||
let mods = KeyModifiers::new().with_control().with_shift();
|
||||
assert!(mods.control);
|
||||
assert!(!mods.alt);
|
||||
assert!(mods.shift);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_modifiers_is_empty() {
|
||||
assert!(KeyModifiers::new().is_empty());
|
||||
assert!(!KeyModifiers::new().with_control().is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_key_equality() {
|
||||
let k1 = Key::char('a');
|
||||
let k2 = Key::char('a');
|
||||
let k3 = Key::ctrl('a');
|
||||
assert_eq!(k1, k2);
|
||||
assert_ne!(k1, k3);
|
||||
}
|
||||
Reference in New Issue
Block a user