diff options
| -rw-r--r-- | src/alias.rs | 7 | ||||
| -rw-r--r-- | src/tests.rs | 13 | 
2 files changed, 17 insertions, 3 deletions
| diff --git a/src/alias.rs b/src/alias.rs index 8a66db8..0fd05d2 100644 --- a/src/alias.rs +++ b/src/alias.rs @@ -75,8 +75,11 @@ impl Alias {      }      pub fn write_to_file<P: AsRef<Path>>(&mut self, file: P) -> Result<(), AliasSearchError> { -        let similar_aliases = try!(self.find_in_file(&file)); -        self.update_alias_id(similar_aliases); +        match self.find_in_file(&file) { +            Ok(similar_aliases) => self.update_alias_id(similar_aliases), +            Err(AliasSearchError::NotFound) => {}, +            Err(e) => return Err(e), +        };          let mut f = try!(OpenOptions::new().append(true).open(file));          try!(f.write_all(format!("{}\n", self.to_string()).as_bytes())); diff --git a/src/tests.rs b/src/tests.rs index c897a32..f00d103 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -144,7 +144,7 @@ fn alias_write_to_file_helper<F>(alias: &mut Alias, f: F) -> String  }  #[test] -fn alias_write_to_file_must_write_given_alias_to_file() { +fn alias_write_to_file_must_write_unique_alias_to_file_if_one_already_exists() {      let mut alias = update_alias_id_sample_alias();      let alias_line = alias_write_to_file_helper(&mut alias, |alias: &Alias, filename: &str| {          // Write a duplicate alias so that `write_to_file` is able to append a @@ -158,3 +158,14 @@ fn alias_write_to_file_must_write_given_alias_to_file() {      assert_eq!(alias.to_string(), alias_line);  } + +#[test] +#[allow(unused_variables)] +fn alias_write_to_file_must_write_given_alias_to_file() { +    let mut alias = update_alias_id_sample_alias(); +    let alias_line = alias_write_to_file_helper( +        &mut alias, +        |alias: &Alias, filename: &str| {}); + +    assert_eq!(alias.to_string(), alias_line); +} | 
