summaryrefslogtreecommitdiffstats
path: root/src/config.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-11-10 17:37:24 -0600
committerToby Vincent <tobyv13@gmail.com>2022-11-10 17:37:24 -0600
commit4cac42d2299cecdc3d6a7f6d7661137da338278b (patch)
tree4b1954cd32eb54b170616b41f0c43b46f6647722 /src/config.rs
parentc8681e50194855a2ad36bf984866a30cfcfb8ec9 (diff)
feat: add paths module and tests
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs91
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(())
- });
- }
-}