diff --git a/src/melt.rs b/src/melt.rs index 79c702f..6ea5154 100644 --- a/src/melt.rs +++ b/src/melt.rs @@ -109,7 +109,7 @@ impl FromStr for MelterKind { "ck3" => Ok(MelterKind::Ck3), "rome" => Ok(MelterKind::Imperator), "hoi4" => Ok(MelterKind::Hoi4), - "v3" => Ok(MelterKind::Vic3), + "v3" | "vic3" => Ok(MelterKind::Vic3), _ => bail!("Only eu4, eu5, ck3, vic3, hoi4, and imperator files supported"), } } @@ -296,4 +296,16 @@ mod tests { Path::new("/tmp").join("gamestate_melted") ); } + + #[test] + fn vic3_format_aliases_parse() { + assert!(matches!( + "v3".parse::().unwrap(), + MelterKind::Vic3 + )); + assert!(matches!( + "vic3".parse::().unwrap(), + MelterKind::Vic3 + )); + } } diff --git a/src/watch.rs b/src/watch.rs index fa0fed3..69219f9 100644 --- a/src/watch.rs +++ b/src/watch.rs @@ -107,7 +107,7 @@ impl FromStr for GameType { "ck3" => Ok(GameType::Ck3), "rome" => Ok(GameType::Imperator), "hoi4" => Ok(GameType::Hoi4), - "v3" => Ok(GameType::Vic3), + "v3" | "vic3" => Ok(GameType::Vic3), _ => Err(anyhow!( "Only eu4, eu5, ck3, vic3, hoi4, and imperator files supported" )), @@ -115,6 +115,20 @@ impl FromStr for GameType { } } +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn vic3_format_aliases_parse() { + assert!(matches!("v3".parse::().unwrap(), GameType::Vic3)); + assert!(matches!( + "vic3".parse::().unwrap(), + GameType::Vic3 + )); + } +} + impl GameType { fn default_frequency(&self) -> SnapshotFrequency { match self {