aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main.rs17
-rw-r--r--src/tests.rs5
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>")
+ );
}