aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-08-27 11:10:19 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-08-27 11:10:38 +0300
commit91257862e511f87fb70f954e923617bd1eb17759 (patch)
treee84a2f7f89762df5343009ed92dcaa1773c2de2c
parent178469301b846eb9e569a029819dd03387e26379 (diff)
downloadniri-91257862e511f87fb70f954e923617bd1eb17759.tar.gz
niri-91257862e511f87fb70f954e923617bd1eb17759.tar.bz2
niri-91257862e511f87fb70f954e923617bd1eb17759.zip
config: Move leftover input tests to input
-rw-r--r--niri-config/src/input.rs191
-rw-r--r--niri-config/src/lib.rs214
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);
- }
}