summaryrefslogtreecommitdiffstats
path: root/src/finder
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/finder
parentc8681e50194855a2ad36bf984866a30cfcfb8ec9 (diff)
feat: add paths module and tests
Diffstat (limited to 'src/finder')
-rw-r--r--src/finder/config.rs61
-rw-r--r--src/finder/error.rs1
2 files changed, 61 insertions, 1 deletions
diff --git a/src/finder/config.rs b/src/finder/config.rs
index bc39556..d0a0570 100644
--- a/src/finder/config.rs
+++ b/src/finder/config.rs
@@ -41,3 +41,64 @@ impl Provider for Config {
Serialized::defaults(Config::default()).data()
}
}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+ use figment::providers::{Format, Serialized, Toml};
+
+ #[test]
+ fn defaults() {
+ figment::Jail::expect_with(|jail| {
+ jail.create_file(
+ "tmuxr.toml",
+ r#"
+ 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#"
+ 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 {
+ program: "fzf".into(),
+ args: vec!["-0".into(), "-1".into(), "--preview='cat'".into()],
+ }
+ );
+
+ Ok(())
+ });
+ }
+}
diff --git a/src/finder/error.rs b/src/finder/error.rs
index 46d39c4..181da21 100644
--- a/src/finder/error.rs
+++ b/src/finder/error.rs
@@ -8,4 +8,3 @@ pub enum Error {
#[error("Stdin error: Failed to get finder's stdin")]
Stdin,
}
-