From e03e843abd4b1f5c786a2ac01002cbc7255d8cf7 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 24 Oct 2025 17:07:06 +0700 Subject: [PATCH] Test config --- src/config.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/config.rs b/src/config.rs index d79848fb..313acbc0 100644 --- a/src/config.rs +++ b/src/config.rs @@ -3,6 +3,7 @@ use std::{collections::HashMap, env, fs, str::FromStr, sync::OnceLock}; use serde::{Deserialize, Serialize}; #[derive(Debug, Default, Clone, Deserialize, PartialEq, Serialize)] +#[serde(default)] pub struct CookConfigOpt { /// whether to run offline pub offline: Option, @@ -41,6 +42,7 @@ impl From for CookConfig { } #[derive(Debug, Default, Deserialize, PartialEq, Serialize)] +#[serde(default)] pub struct CookbookConfig { #[serde(rename = "cook")] cook_opt: CookConfigOpt, @@ -155,6 +157,17 @@ mod tests { let _ = CONFIG.set(app_config); } + #[test] + fn test_parse_cook() { + let app_config: CookbookConfig = toml::from_str( + "[cook]\n\ + offline = true\n", + ) + .expect("Unable to parse test config"); + assert_eq!(app_config.cook_opt.offline, Some(true)); + assert_eq!(app_config.cook_opt.jobs, None); + } + #[test] fn test_exact_match() { setup_test_config();