use super::*;
#[test]
fn restore_clears_a_diversion_it_found_already_set() {
let change = undivert_change(reporting(true, None));
assert_eq!(change.diverted, Some(false));
assert_eq!(change.raw_xy, Some(false));
}
#[test]
fn restore_returns_the_remap_target_and_touches_nothing_else() {
let remap = reprog_controls::ControlId(0x0053);
let change = undivert_change(reporting(false, Some(remap)));
assert_eq!(change.remap, Some(remap));
assert_eq!(change.persistently_diverted, None);
assert_eq!(change.force_raw_xy, None);
assert_eq!(change.analytics_key_events, None);
assert_eq!(change.raw_wheel, None);
}
#[test]
fn wake_rearm_restores_diversion_mode_and_remap_target() {
let remap = reprog_controls::ControlId(0x0053);
let change = divert_change(reporting(false, Some(remap)), true);
assert_eq!(change.diverted, Some(true));
assert_eq!(change.raw_xy, Some(true));
assert_eq!(change.remap, Some(remap));
}
#[test]
fn plain_diversion_clears_raw_xy() {
let remap = reprog_controls::ControlId(0x0053);
let change = divert_change(reporting(false, Some(remap)), false);
assert_eq!(change.diverted, Some(true));
assert_eq!(change.raw_xy, Some(false));
assert_eq!(change.remap, Some(remap));
}
#[test]
fn keyboard_diversion_leaves_raw_xy_unset() {
let remap = reprog_controls::ControlId(0x0053);
let change = divert_keyboard_key(reporting(false, Some(remap)));
assert_eq!(change.diverted, Some(true));
assert_eq!(change.raw_xy, None);
assert_eq!(change.remap, Some(remap));
}
#[test]
fn keyboard_restore_leaves_raw_xy_unset() {
let remap = reprog_controls::ControlId(0x0053);
let change = undivert_keyboard_key(reporting(false, Some(remap)));
assert_eq!(change.diverted, Some(false));
assert_eq!(change.raw_xy, None);
assert_eq!(change.remap, Some(remap));
}