diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-27 11:10:19 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-27 11:10:38 +0300 |
| commit | 91257862e511f87fb70f954e923617bd1eb17759 (patch) | |
| tree | e84a2f7f89762df5343009ed92dcaa1773c2de2c | |
| parent | 178469301b846eb9e569a029819dd03387e26379 (diff) | |
| download | niri-91257862e511f87fb70f954e923617bd1eb17759.tar.gz niri-91257862e511f87fb70f954e923617bd1eb17759.tar.bz2 niri-91257862e511f87fb70f954e923617bd1eb17759.zip | |
config: Move leftover input tests to input
| -rw-r--r-- | niri-config/src/input.rs | 191 | ||||
| -rw-r--r-- | niri-config/src/lib.rs | 214 |
2 files changed, 202 insertions, 203 deletions
diff --git a/niri-config/src/input.rs b/niri-config/src/input.rs index 61f1a4b8..b81b304a 100644 --- a/niri-config/src/input.rs +++ b/niri-config/src/input.rs @@ -448,6 +448,197 @@ mod tests { use super::*; + #[track_caller] + fn do_parse(text: &str) -> Input { + knuffel::parse("test.kdl", text) + .map_err(miette::Report::new) + .unwrap() + } + + #[test] + fn parse_scroll_factor_combined() { + // Test combined scroll-factor syntax + let parsed = do_parse( + r#" + mouse { + scroll-factor 2.0 + } + touchpad { + scroll-factor 1.5 + } + "#, + ); + + assert_debug_snapshot!(parsed.mouse.scroll_factor, @r#" + Some( + ScrollFactor { + base: Some( + FloatOrInt( + 2.0, + ), + ), + horizontal: None, + vertical: None, + }, + ) + "#); + assert_debug_snapshot!(parsed.touchpad.scroll_factor, @r#" + Some( + ScrollFactor { + base: Some( + FloatOrInt( + 1.5, + ), + ), + horizontal: None, + vertical: None, + }, + ) + "#); + } + + #[test] + fn parse_scroll_factor_split() { + // Test split horizontal/vertical syntax + let parsed = do_parse( + r#" + mouse { + scroll-factor horizontal=2.0 vertical=-1.0 + } + touchpad { + scroll-factor horizontal=-1.5 vertical=0.5 + } + "#, + ); + + assert_debug_snapshot!(parsed.mouse.scroll_factor, @r#" + Some( + ScrollFactor { + base: None, + horizontal: Some( + FloatOrInt( + 2.0, + ), + ), + vertical: Some( + FloatOrInt( + -1.0, + ), + ), + }, + ) + "#); + assert_debug_snapshot!(parsed.touchpad.scroll_factor, @r#" + Some( + ScrollFactor { + base: None, + horizontal: Some( + FloatOrInt( + -1.5, + ), + ), + vertical: Some( + FloatOrInt( + 0.5, + ), + ), + }, + ) + "#); + } + + #[test] + fn parse_scroll_factor_partial() { + // Test partial specification (only one axis) + let parsed = do_parse( + r#" + mouse { + scroll-factor horizontal=2.0 + } + touchpad { + scroll-factor vertical=-1.5 + } + "#, + ); + + assert_debug_snapshot!(parsed.mouse.scroll_factor, @r#" + Some( + ScrollFactor { + base: None, + horizontal: Some( + FloatOrInt( + 2.0, + ), + ), + vertical: None, + }, + ) + "#); + assert_debug_snapshot!(parsed.touchpad.scroll_factor, @r#" + Some( + ScrollFactor { + base: None, + horizontal: None, + vertical: Some( + FloatOrInt( + -1.5, + ), + ), + }, + ) + "#); + } + + #[test] + fn parse_scroll_factor_mixed() { + // Test mixed base + override syntax + let parsed = do_parse( + r#" + mouse { + scroll-factor 2 vertical=-1 + } + touchpad { + scroll-factor 1.5 horizontal=3 + } + "#, + ); + + assert_debug_snapshot!(parsed.mouse.scroll_factor, @r#" + Some( + ScrollFactor { + base: Some( + FloatOrInt( + 2.0, + ), + ), + horizontal: None, + vertical: Some( + FloatOrInt( + -1.0, + ), + ), + }, + ) + "#); + assert_debug_snapshot!(parsed.touchpad.scroll_factor, @r#" + Some( + ScrollFactor { + base: Some( + FloatOrInt( + 1.5, + ), + ), + horizontal: Some( + FloatOrInt( + 3.0, + ), + ), + vertical: None, + }, + ) + "#); + } + #[test] fn scroll_factor_h_v_factors() { let sf = ScrollFactor { diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs index 0888df61..8b10ee02 100644 --- a/niri-config/src/lib.rs +++ b/niri-config/src/lib.rs @@ -239,203 +239,23 @@ mod tests { use super::*; - #[track_caller] - fn do_parse(text: &str) -> Config { - Config::parse("test.kdl", text) - .map_err(miette::Report::new) - .unwrap() - } - #[test] - fn parse_scroll_factor_combined() { - // Test combined scroll-factor syntax - let parsed = do_parse( - r#" - input { - mouse { - scroll-factor 2.0 - } - touchpad { - scroll-factor 1.5 - } - } - "#, - ); - - assert_debug_snapshot!(parsed.input.mouse.scroll_factor, @r#" - Some( - ScrollFactor { - base: Some( - FloatOrInt( - 2.0, - ), - ), - horizontal: None, - vertical: None, - }, - ) - "#); - assert_debug_snapshot!(parsed.input.touchpad.scroll_factor, @r#" - Some( - ScrollFactor { - base: Some( - FloatOrInt( - 1.5, - ), - ), - horizontal: None, - vertical: None, - }, - ) - "#); - } - - #[test] - fn parse_scroll_factor_split() { - // Test split horizontal/vertical syntax - let parsed = do_parse( - r#" - input { - mouse { - scroll-factor horizontal=2.0 vertical=-1.0 - } - touchpad { - scroll-factor horizontal=-1.5 vertical=0.5 - } - } - "#, - ); - - assert_debug_snapshot!(parsed.input.mouse.scroll_factor, @r#" - Some( - ScrollFactor { - base: None, - horizontal: Some( - FloatOrInt( - 2.0, - ), - ), - vertical: Some( - FloatOrInt( - -1.0, - ), - ), - }, - ) - "#); - assert_debug_snapshot!(parsed.input.touchpad.scroll_factor, @r#" - Some( - ScrollFactor { - base: None, - horizontal: Some( - FloatOrInt( - -1.5, - ), - ), - vertical: Some( - FloatOrInt( - 0.5, - ), - ), - }, - ) - "#); + fn can_create_default_config() { + let _ = Config::default(); } #[test] - fn parse_scroll_factor_partial() { - // Test partial specification (only one axis) - let parsed = do_parse( - r#" - input { - mouse { - scroll-factor horizontal=2.0 - } - touchpad { - scroll-factor vertical=-1.5 - } - } - "#, - ); - - assert_debug_snapshot!(parsed.input.mouse.scroll_factor, @r#" - Some( - ScrollFactor { - base: None, - horizontal: Some( - FloatOrInt( - 2.0, - ), - ), - vertical: None, - }, - ) - "#); - assert_debug_snapshot!(parsed.input.touchpad.scroll_factor, @r#" - Some( - ScrollFactor { - base: None, - horizontal: None, - vertical: Some( - FloatOrInt( - -1.5, - ), - ), - }, - ) - "#); + fn default_repeat_params() { + let config = Config::parse("config.kdl", "").unwrap(); + assert_eq!(config.input.keyboard.repeat_delay, 600); + assert_eq!(config.input.keyboard.repeat_rate, 25); } - #[test] - fn parse_scroll_factor_mixed() { - // Test mixed base + override syntax - let parsed = do_parse( - r#" - input { - mouse { - scroll-factor 2 vertical=-1 - } - touchpad { - scroll-factor 1.5 horizontal=3 - } - } - "#, - ); - - assert_debug_snapshot!(parsed.input.mouse.scroll_factor, @r#" - Some( - ScrollFactor { - base: Some( - FloatOrInt( - 2.0, - ), - ), - horizontal: None, - vertical: Some( - FloatOrInt( - -1.0, - ), - ), - }, - ) - "#); - assert_debug_snapshot!(parsed.input.touchpad.scroll_factor, @r#" - Some( - ScrollFactor { - base: Some( - FloatOrInt( - 1.5, - ), - ), - horizontal: Some( - FloatOrInt( - 3.0, - ), - ), - vertical: None, - }, - ) - "#); + #[track_caller] + fn do_parse(text: &str) -> Config { + Config::parse("test.kdl", text) + .map_err(miette::Report::new) + .unwrap() } #[test] @@ -1924,16 +1744,4 @@ mod tests { } "#); } - - #[test] - fn can_create_default_config() { - let _ = Config::default(); - } - - #[test] - fn default_repeat_params() { - let config = Config::parse("config.kdl", "").unwrap(); - assert_eq!(config.input.keyboard.repeat_delay, 600); - assert_eq!(config.input.keyboard.repeat_rate, 25); - } } |
