diff options
Diffstat (limited to 'headers/src/header_components/received_token.rs')
-rw-r--r-- | headers/src/header_components/received_token.rs | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/headers/src/header_components/received_token.rs b/headers/src/header_components/received_token.rs index 5c9ff5a..46f6b64 100644 --- a/headers/src/header_components/received_token.rs +++ b/headers/src/header_components/received_token.rs @@ -1,39 +1,37 @@ use soft_ascii_string::SoftAsciiChar; +use internals::encoder::{EncodableInHeader, EncodingWriter}; use internals::error::EncodingError; -use internals::encoder::{EncodingWriter, EncodableInHeader}; - -use super::word::{ Word, do_encode_word }; -use super::{ Email, Domain }; +use super::word::{do_encode_word, Word}; +use super::{Domain, Email}; #[derive(Debug, Clone, Hash, Eq, PartialEq)] pub enum ReceivedToken { - Word( Word ), - Address( Email ), - Domain( Domain ) + Word(Word), + Address(Email), + Domain(Domain), } -impl EncodableInHeader for ReceivedToken { - +impl EncodableInHeader for ReceivedToken { fn encode(&self, handle: &mut EncodingWriter) -> Result<(), EncodingError> { use self::ReceivedToken::*; match *self { - Word( ref word ) => { - do_encode_word( word, handle, None )?; - }, - Address( ref addr ) => { + Word(ref word) => { + do_encode_word(word, handle, None)?; + } + Address(ref addr) => { // we do not need to use <..> , but I think it's better and it is definitely // not wrong - handle.write_char( SoftAsciiChar::from_unchecked('<') )?; - addr.encode( handle )?; - handle.write_char( SoftAsciiChar::from_unchecked('>') )?; - }, - Domain( ref domain ) => { - domain.encode( handle )?; + handle.write_char(SoftAsciiChar::from_unchecked('<'))?; + addr.encode(handle)?; + handle.write_char(SoftAsciiChar::from_unchecked('>'))?; + } + Domain(ref domain) => { + domain.encode(handle)?; } } - Ok( () ) + Ok(()) } fn boxed_clone(&self) -> Box<EncodableInHeader> { @@ -43,12 +41,12 @@ impl EncodableInHeader for ReceivedToken { #[cfg(test)] mod test { - use ::HeaderTryFrom; - use internals::MailType; - use internals::encoder::EncodingBuffer; use super::*; + use internals::encoder::EncodingBuffer; + use internals::MailType; + use HeaderTryFrom; - ec_test!{ a_domain, { + ec_test! { a_domain, { Domain::try_from( "random.mailnot" )? } => ascii => [ MarkFWS, @@ -56,7 +54,7 @@ mod test { MarkFWS ]} - ec_test!{ a_address, { + ec_test! { a_address, { let email = Email::try_from( "modnar@random.mailnot")?; ReceivedToken::Address( email ) } => ascii => [ @@ -71,27 +69,26 @@ mod test { Text ">" ]} - ec_test!{ a_word, { + ec_test! { a_word, { let word = Word::try_from( "simple" )?; ReceivedToken::Word( word ) } => ascii => [ Text "simple" ]} - ec_test!{ a_quoted_word, { + ec_test! { a_quoted_word, { let word = Word::try_from( "sim ple" )?; ReceivedToken::Word( word ) } => ascii => [ Text r#""sim ple""# ]} - #[test] fn no_encoded_word() { - let mut encoder = EncodingBuffer::new( MailType::Ascii ); + let mut encoder = EncodingBuffer::new(MailType::Ascii); let mut handle = encoder.writer(); - let input = ReceivedToken::Word( Word::try_from( "↓right" ).unwrap() ); - assert_err!(input.encode( &mut handle )); + let input = ReceivedToken::Word(Word::try_from("↓right").unwrap()); + assert_err!(input.encode(&mut handle)); handle.undo_header(); } -}
\ No newline at end of file +} |