diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-27 10:54:41 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-27 10:55:16 +0300 |
| commit | 758a4c5e6572302d50c412040f358a7791c1912e (patch) | |
| tree | 54fe250bbb524ce81957856cd69ff463711c588f /niri-ipc/src/lib.rs | |
| parent | 66584ab466dfb0563708ac80a5f10dbc9fcde562 (diff) | |
| download | niri-758a4c5e6572302d50c412040f358a7791c1912e.tar.gz niri-758a4c5e6572302d50c412040f358a7791c1912e.tar.bz2 niri-758a4c5e6572302d50c412040f358a7791c1912e.zip | |
Move Position/SizeChange parsing tests to niri-ipc
Diffstat (limited to 'niri-ipc/src/lib.rs')
| -rw-r--r-- | niri-ipc/src/lib.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/niri-ipc/src/lib.rs b/niri-ipc/src/lib.rs index fa524970..10d88de7 100644 --- a/niri-ipc/src/lib.rs +++ b/niri-ipc/src/lib.rs @@ -1609,3 +1609,61 @@ impl FromStr for ScaleToSet { Ok(Self::Specific(scale)) } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_size_change() { + assert_eq!( + "10".parse::<SizeChange>().unwrap(), + SizeChange::SetFixed(10), + ); + assert_eq!( + "+10".parse::<SizeChange>().unwrap(), + SizeChange::AdjustFixed(10), + ); + assert_eq!( + "-10".parse::<SizeChange>().unwrap(), + SizeChange::AdjustFixed(-10), + ); + assert_eq!( + "10%".parse::<SizeChange>().unwrap(), + SizeChange::SetProportion(10.), + ); + assert_eq!( + "+10%".parse::<SizeChange>().unwrap(), + SizeChange::AdjustProportion(10.), + ); + assert_eq!( + "-10%".parse::<SizeChange>().unwrap(), + SizeChange::AdjustProportion(-10.), + ); + + assert!("-".parse::<SizeChange>().is_err()); + assert!("10% ".parse::<SizeChange>().is_err()); + } + + #[test] + fn parse_position_change() { + assert_eq!( + "10".parse::<PositionChange>().unwrap(), + PositionChange::SetFixed(10.), + ); + assert_eq!( + "+10".parse::<PositionChange>().unwrap(), + PositionChange::AdjustFixed(10.), + ); + assert_eq!( + "-10".parse::<PositionChange>().unwrap(), + PositionChange::AdjustFixed(-10.), + ); + + assert!("10%".parse::<PositionChange>().is_err()); + assert!("+10%".parse::<PositionChange>().is_err()); + assert!("-10%".parse::<PositionChange>().is_err()); + assert!("-".parse::<PositionChange>().is_err()); + assert!("10% ".parse::<PositionChange>().is_err()); + } +} |
