diff --git a/src-tauri/src/vault/mod.rs b/src-tauri/src/vault/mod.rs index b998bae7..74ed8858 100644 --- a/src-tauri/src/vault/mod.rs +++ b/src-tauri/src/vault/mod.rs @@ -108,7 +108,7 @@ struct Frontmatter { owner: Option, #[serde(rename = "Cadence")] cadence: Option, - #[serde(rename = "Archived")] + #[serde(rename = "Archived", alias = "archived")] archived: Option, #[serde(rename = "Trashed", alias = "trashed")] trashed: Option, @@ -1374,6 +1374,28 @@ Company: Acme Corp ); } + #[test] + fn test_parse_archived_lowercase_alias() { + let dir = TempDir::new().unwrap(); + let content = "---\narchived: true\n---\n# Old Quarter\n"; + let entry = parse_test_entry(&dir, "old-quarter.md", content); + assert!( + entry.archived, + "lowercase 'archived' must be parsed via alias (frontend writes lowercase)" + ); + } + + #[test] + fn test_parse_archived_titlecase() { + let dir = TempDir::new().unwrap(); + let content = "---\nArchived: true\n---\n# Old Quarter\n"; + let entry = parse_test_entry(&dir, "old-quarter-2.md", content); + assert!( + entry.archived, + "titlecase 'Archived' must also be parsed" + ); + } + #[test] fn test_trashed_false_when_absent() { let dir = TempDir::new().unwrap();