diff options
| -rw-r--r-- | src/main.rs | 17 | ||||
| -rw-r--r-- | src/tests.rs | 5 | 
2 files changed, 16 insertions, 6 deletions
| diff --git a/src/main.rs b/src/main.rs index 2a0a471..1f3ff29 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,18 +16,23 @@ fn build_alias(s: &str) -> String {      split.remove(0);      let mut alias_line = String::from("alias "); +    let mut alias = String::new();      if split.len() == 1 { -        alias_line.push_str(&format!("{} ", split[0].to_lowercase())); -        alias_line.push_str(&split.join(" ")) +        alias = format!("{} ", split[0].to_lowercase());      } else if split.len() == 2 { -        alias_line.push_str(&format!("{} ", split[0].to_lowercase())); -        alias_line.push_str(&split.join(" ")); +        alias = format!("{} ", split[0].to_lowercase());      } else if split.len() > 2 { -        alias_line.push_str(&format!("{}-{} ", split[split.len() - 2], split[0]).to_lowercase()); -        alias_line.push_str(&split.join(" ")); +        alias = format!("{}-{} ", split[split.len() - 2], split[0]).to_lowercase();      } +    alias = alias.replace(',', ""); +    alias = alias.replace('\'', ""); +    alias = alias.replace('"', ""); + +    alias_line.push_str(&alias); +    alias_line.push_str(&split.join(" ")); +      alias_line  } diff --git a/src/tests.rs b/src/tests.rs index eff385a..f5fb57f 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -21,4 +21,9 @@ fn test_build_alias() {          "alias lab-harvard Harvard Innovation Lab <noreply@eventbrite.com>",          build_alias("From: Harvard Innovation Lab <noreply@eventbrite.com>")      ); + +    assert_eq!( +        "alias celty-ostrulson \"O'Strulson, Celty\" <celty@dollars.co>", +        build_alias("From: \"O'Strulson, Celty\" <celty@dollars.co>") +    );  } | 
