diff options
Diffstat (limited to 'src/config.rs')
-rw-r--r-- | src/config.rs | 91 |
1 files changed, 1 insertions, 90 deletions
diff --git a/src/config.rs b/src/config.rs index a2305f1..4ba59b4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -8,7 +8,7 @@ use tracing_subscriber::{Layer, Registry}; pub struct Config { pub log_enabled: bool, pub log_file: PathBuf, - pub paths: crate::directories::Config, + pub paths: crate::paths::Config, pub finder: crate::finder::Config, } @@ -63,92 +63,3 @@ impl TryFrom<Figment> for Config { value.extract().map_err(Into::into) } } - -#[cfg(test)] -mod tests { - use crate::{finder, directories}; - - use super::*; - use figment::providers::{Format, Serialized, Toml}; - - #[test] - fn defaults() { - figment::Jail::expect_with(|jail| { - jail.create_file( - "tmuxr.toml", - r#" - log_enabled = false - - [paths] - search = [] - add = [] - hidden = false - - [finder] - program = "fzf-tmux" - args = [ - "--", - "--multi", - "--print-query", - "-d/", - "--preview-window='right,75%,<80(up,75%,border-bottom)'", - "--preview='sel={}; less ${sel:-{q}} 2>/dev/null'", - ] - "#, - )?; - - let config: Config = Figment::from(Serialized::defaults(Config::default())) - .merge(Toml::file("tmuxr.toml")) - .extract()?; - - assert_eq!(config, Config::default()); - - Ok(()) - }); - } - - #[test] - fn custom() { - figment::Jail::expect_with(|jail| { - jail.create_file( - "tmuxr.toml", - r#" - log_enabled = true - log_file = "/tmp/tmuxr/test/tmuxr.log" - - [paths] - search = [ "/tmp/tmuxr/test/projects" ] - add = [ "/tmp/tmuxr/test/other_projects" ] - hidden = true - - [finder] - program = "fzf" - args = ["-0", "-1", "--preview='cat'"] - "#, - )?; - - let config: Config = Figment::from(Serialized::defaults(Config::default())) - .merge(Toml::file("tmuxr.toml")) - .extract()?; - - assert_eq!( - config, - Config { - paths: directories::Config { - search: vec!["/tmp/tmuxr/test/projects".into()], - add: vec!["/tmp/tmuxr/test/extra_project".into()], - hidden: true, - }, - finder: finder::Config { - program: "fzf".into(), - args: vec!["-0".into(), "-1".into(), "--preview='cat'".into()], - }, - log_enabled: true, - log_file: "/tmp/tmuxr/test/tmuxr.log".into() - } - ); - - Ok(()) - }); - } -} |