Complete desktop parity and security audit (#42)
This commit is contained in:
@@ -160,3 +160,35 @@ fn accelerator(action: UiAction) -> Option<Accelerator> {
|
||||
};
|
||||
Some(Accelerator::new(Some(modifiers), code))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn native_menu_uses_standard_macos_accelerators() {
|
||||
for (action, modifiers, code) in [
|
||||
(UiAction::Settings, Modifiers::SUPER, Code::Comma),
|
||||
(UiAction::NewEntry, Modifiers::SUPER, Code::KeyN),
|
||||
(UiAction::OpenFolder, Modifiers::SUPER, Code::KeyO),
|
||||
(UiAction::Save, Modifiers::SUPER, Code::KeyS),
|
||||
(UiAction::CloseWindow, Modifiers::SUPER, Code::KeyW),
|
||||
(UiAction::Quit, Modifiers::SUPER, Code::KeyQ),
|
||||
(UiAction::Find, Modifiers::SUPER, Code::KeyF),
|
||||
(
|
||||
UiAction::SearchContents,
|
||||
Modifiers::SUPER | Modifiers::SHIFT,
|
||||
Code::KeyF,
|
||||
),
|
||||
(UiAction::CommandPalette, Modifiers::SUPER, Code::KeyK),
|
||||
(UiAction::Refresh, Modifiers::SUPER, Code::KeyR),
|
||||
(UiAction::Lock, Modifiers::SUPER, Code::KeyL),
|
||||
(UiAction::Help, Modifiers::empty(), Code::F1),
|
||||
] {
|
||||
let accelerator = accelerator(action).expect("registered native accelerator");
|
||||
assert_eq!(accelerator.modifiers(), modifiers, "{action:?}");
|
||||
assert_eq!(accelerator.key(), code, "{action:?}");
|
||||
}
|
||||
assert!(accelerator(UiAction::GeneratePassword).is_none());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user