aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs24
-rw-r--r--src/tests.rs11
2 files changed, 33 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 49c30d3..e089752 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,4 +1,6 @@
-use std::io::{self, BufRead};
+use std::io::{self, BufRead, BufReader};
+use std::fs::File;
+use std::path::Path;
#[cfg(test)]
mod tests;
@@ -80,6 +82,26 @@ 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();
+
+ let f = try!(File::open(file));
+ let mut file = BufReader::new(&f);
+ for line in file.lines() {
+ let line = line.unwrap();
+ let split: Vec<&str> = line.split_whitespace().collect();
+
+ // if email is in alias file
+ // return true
+
+ if split[1].starts_with(alias_parts[1]) {
+ println!("booya");
+ }
+ }
+
+ Ok(())
+}
+
fn main() {
let stdin = io::stdin();
let input: Vec<String> = stdin.lock().lines().map(|line| line.unwrap()).collect();
diff --git a/src/tests.rs b/src/tests.rs
index c12bab1..c884188 100644
--- a/src/tests.rs
+++ b/src/tests.rs
@@ -1,4 +1,4 @@
-use super::Alias;
+use super::{Alias, is_alias_in_file};
#[test]
fn new_alias_with_only_email() {
@@ -39,3 +39,12 @@ fn new_alias_with_special_characters() {
Alias::new("From: \"O'Strulson, Celty\" <celty@dollars.co>").to_string()
);
}
+
+
+#[test]
+fn is_alias_in_file_finds_a_match() {
+ is_alias_in_file(
+ "alias farnsworth-hubert Hubert Farnsworth <professor@planetexpress.com>",
+ "./testdata/aliases"
+ );
+}