diff options
author | Philipp Korber <philippkorber@gmail.com> | 2018-05-30 18:39:33 +0200 |
---|---|---|
committer | Philipp Korber <philippkorber@gmail.com> | 2018-05-30 18:54:07 +0200 |
commit | 43c2df6cc263bdda125faae2e4e79598b0f12769 (patch) | |
tree | 2c2527807adc04d91e3324d88643a136a1f4f49b | |
parent | f294689ea38d69ecb8c5a122682e3e65689d2eb6 (diff) |
test(resource): added some tests for Embedded, EmbeddedWithCId
-rw-r--r-- | src/lib.rs | 2 | ||||
-rw-r--r-- | src/macros.rs | 28 | ||||
-rw-r--r-- | src/resource/mod.rs | 35 |
3 files changed, 34 insertions, 31 deletions
@@ -25,8 +25,6 @@ extern crate mail_derive; pub use mail_derive::*; //modules are ordered in "after-can-import-from-before" order -#[macro_use] -mod macros; pub mod error; mod resource; mod template_engine; diff --git a/src/macros.rs b/src/macros.rs deleted file mode 100644 index d725756..0000000 --- a/src/macros.rs +++ /dev/null @@ -1,28 +0,0 @@ - -///// like try on a result but converts the error to a boxed error-future before returning it -//#[cfg(feature="smtp")] -//macro_rules! r2f_try { -// ($code:expr) => ({ -// use futures::future; -// match $code { -// Ok(val) => val, -// Err(error) => return Box::new(future::err(error)) -// } -// }); -//} - -// /// -// /// ``` -// /// cloned!([service] => move |name| { -// /// drop(service) -// /// }) -// /// ``` -// #[cfg(feature="smtp")] -// macro_rules! cloned { -// ([$($toclo:ident),*] => $doit:expr) => ({ -// $( -// let $toclo = $toclo.clone(); -// )* -// $doit -// }); -// } diff --git a/src/resource/mod.rs b/src/resource/mod.rs index 080a409..6ac56f5 100644 --- a/src/resource/mod.rs +++ b/src/resource/mod.rs @@ -163,7 +163,7 @@ mod test { use soft_ascii_string::SoftAsciiString; use mail::{Context, Resource}; use mail::default_impl::simple_context; - use headers::components::Domain; + use headers::components::{ContentId, Domain}; use headers::HeaderTryFrom; use ::resource::Disposition; @@ -208,5 +208,38 @@ mod test { emb.assure_content_id(&ctx); assert!(emb.content_id().is_some()); } + + #[test] + fn assure_content_id_create_a_content_id_only_if_needed() { + let ctx = ctx(); + let mut emb = Embedded::inline(any_resource()); + assert_eq!(emb.content_id(), None); + + emb.assure_content_id(&ctx); + + let cid = emb + .content_id() + .expect("content id should have been generated") + .clone(); + + emb.assure_content_id(&ctx); + assert_eq!(emb.content_id(), Some(&cid)); + } + } + + mod EmbeddedWithCId { + #![allow(non_snake_case)] + use super::*; + use super::super::{Embedded, EmbeddedWithCId}; + + #[test] + fn generates_a_cid() { + let ctx = ctx(); + + let emb_wcid = EmbeddedWithCId::inline(any_resource(), &ctx); + let emb: &Embedded = &emb_wcid; + assert!(emb.content_id().is_some()); + let _: &ContentId = emb_wcid.content_id(); + } } }
\ No newline at end of file |