Initial public release of Warp.
Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
use crate::keyboard::{PersistedTrigger, UserDefinedKeybinding, REMOVED_KEYBINDING_SERIALIZATION};
|
||||
use anyhow::{Ok, Result};
|
||||
use vec1::vec1;
|
||||
|
||||
use warpui::keymap::Keystroke;
|
||||
|
||||
#[test]
|
||||
fn test_short_user_defined_keybinding_to_persisted_trigger() {
|
||||
let keystroke = Keystroke::parse("ctrl-p").unwrap();
|
||||
let keybinding = UserDefinedKeybinding::Keystrokes(vec1![keystroke]);
|
||||
let persisted_trigger: PersistedTrigger = keybinding.into();
|
||||
|
||||
assert_eq!(persisted_trigger, PersistedTrigger("ctrl-p".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_long_user_defined_keybinding_to_persisted_trigger() {
|
||||
let keystroke = Keystroke::parse("ctrl-p").unwrap();
|
||||
let other_keystroke = Keystroke::parse("1").unwrap();
|
||||
|
||||
let keybinding = UserDefinedKeybinding::Keystrokes(vec1![keystroke, other_keystroke]);
|
||||
let persisted_trigger: PersistedTrigger = keybinding.into();
|
||||
|
||||
assert_eq!(persisted_trigger, PersistedTrigger("ctrl-p 1".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_short_persisted_trigger_to_user_defined_keybinding() -> Result<()> {
|
||||
let persisted_trigger = PersistedTrigger("ctrl-x".to_string());
|
||||
let keybinding = UserDefinedKeybinding::try_from(persisted_trigger)?;
|
||||
|
||||
let correct_keybinding =
|
||||
UserDefinedKeybinding::Keystrokes(vec1![Keystroke::parse("ctrl-x").unwrap()]);
|
||||
|
||||
assert_eq!(keybinding, correct_keybinding);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_long_persisted_trigger_to_user_defined_keybinding() -> Result<()> {
|
||||
let persisted_trigger = PersistedTrigger("ctrl-x 8".to_string());
|
||||
let keybinding = UserDefinedKeybinding::try_from(persisted_trigger)?;
|
||||
|
||||
let correct_keybinding = UserDefinedKeybinding::Keystrokes(vec1![
|
||||
Keystroke::parse("ctrl-x").unwrap(),
|
||||
Keystroke::parse("8").unwrap()
|
||||
]);
|
||||
|
||||
assert_eq!(keybinding, correct_keybinding);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_persisted_trigger_to_removed_user_keybinding() -> Result<()> {
|
||||
let persisted_trigger = PersistedTrigger(REMOVED_KEYBINDING_SERIALIZATION.to_string());
|
||||
let keybinding = UserDefinedKeybinding::try_from(persisted_trigger)?;
|
||||
|
||||
assert_eq!(keybinding, UserDefinedKeybinding::Removed);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_removed_user_keybinding_to_persisted_trigger() {
|
||||
let keybinding = UserDefinedKeybinding::Removed;
|
||||
let persisted_trigger: PersistedTrigger = keybinding.into();
|
||||
|
||||
assert_eq!(
|
||||
persisted_trigger,
|
||||
PersistedTrigger(REMOVED_KEYBINDING_SERIALIZATION.to_string())
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_unparsable_persisted_trigger() {
|
||||
let persisted_trigger = PersistedTrigger("".to_string());
|
||||
let keybinding = UserDefinedKeybinding::try_from(persisted_trigger);
|
||||
|
||||
assert!(keybinding.is_err());
|
||||
}
|
||||
Reference in New Issue
Block a user