rust-switcher 1.0.11

Windows keyboard layout switcher and text conversion utility
Documentation
#![cfg(windows)]

use windows::Win32::UI::Input::KeyboardAndMouse::{MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN};

use crate::{config, platform::win::hotkey_format::format_hotkey};

#[test]
fn format_hotkey_none() {
    assert_eq!(format_hotkey(None), "None");
}

#[test]
fn format_hotkey_letter_fast_path() {
    let hk = config::Hotkey {
        mods: MOD_CONTROL.0,
        vk: u32::from(b'A'),
    };
    let s = format_hotkey(Some(hk));
    assert!(s.contains("Ctrl"));
    assert!(s.contains("A"));
}

#[test]
fn format_hotkey_multiple_mods_fast_path() {
    let hk = config::Hotkey {
        mods: MOD_CONTROL.0 | MOD_SHIFT.0 | MOD_ALT.0 | MOD_WIN.0,
        vk: u32::from(b'9'),
    };
    let s = format_hotkey(Some(hk));
    assert!(s.contains("Ctrl"));
    assert!(s.contains("Shift"));
    assert!(s.contains("Alt"));
    assert!(s.contains("Win"));
    assert!(s.contains("9"));
}