aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2016-04-18 22:43:01 -0400
committerTeddy Wing2016-04-18 22:43:01 -0400
commit91f82c020d6f249d8fe24124d758715239536a67 (patch)
tree078d00145792d5c2e1dcba36263bd215f20d7c70
parent1f8cbcedc3f298f68750075bfdf7aae065d53e87 (diff)
downloadmutt-alias-auto-add-91f82c020d6f249d8fe24124d758715239536a67.tar.bz2
is_alias_in_file: Take an Alias instead of an alias string
This allows us to more easily compare parts of the alias line. Update our test to pass an `Alias` also.
-rw-r--r--src/main.rs6
-rw-r--r--src/tests.rs6
2 files changed, 7 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index e089752..dd033f0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -82,9 +82,7 @@ fn build_alias(s: &str) -> String {
alias_line
}
-fn is_alias_in_file(alias: &str, file: &str) -> Result<(), io::Error> {
- let alias_parts: Vec<&str> = alias.split_whitespace().collect();
-
+fn is_alias_in_file(alias: &Alias, file: &str) -> Result<(), io::Error> {
let f = try!(File::open(file));
let mut file = BufReader::new(&f);
for line in file.lines() {
@@ -94,7 +92,7 @@ fn is_alias_in_file(alias: &str, file: &str) -> Result<(), io::Error> {
// if email is in alias file
// return true
- if split[1].starts_with(alias_parts[1]) {
+ if split[1].starts_with(&alias.alias) {
println!("booya");
}
}
diff --git a/src/tests.rs b/src/tests.rs
index c884188..d59fcc6 100644
--- a/src/tests.rs
+++ b/src/tests.rs
@@ -44,7 +44,11 @@ fn new_alias_with_special_characters() {
#[test]
fn is_alias_in_file_finds_a_match() {
is_alias_in_file(
- "alias farnsworth-hubert Hubert Farnsworth <professor@planetexpress.com>",
+ &Alias {
+ alias: "farnsworth-hubert".to_string(),
+ name: "Hubert Farnsworth".to_string(),
+ email: "<professor@planetexpress.com>".to_string()
+ },
"./testdata/aliases"
);
}