use std::path::PathBuf;
pub fn resolve_db_override(db: Option<&str>) -> Option<Option<PathBuf>> {
match db {
Some(":memory:") => Some(None),
Some(path) => Some(Some(PathBuf::from(path))),
None => None,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn memory_sentinel_maps_to_none() {
assert_eq!(resolve_db_override(Some(":memory:")), Some(None));
}
#[test]
fn explicit_path_maps_to_some() {
assert_eq!(
resolve_db_override(Some("/tmp/kkernel-test.db")),
Some(Some(PathBuf::from("/tmp/kkernel-test.db")))
);
}
#[test]
fn absent_db_leaves_default() {
assert_eq!(resolve_db_override(None), None);
}
}