summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Korber <philippkorber@gmail.com>2018-05-30 18:39:33 +0200
committerPhilipp Korber <philippkorber@gmail.com>2018-05-30 18:54:07 +0200
commit43c2df6cc263bdda125faae2e4e79598b0f12769 (patch)
tree2c2527807adc04d91e3324d88643a136a1f4f49b
parentf294689ea38d69ecb8c5a122682e3e65689d2eb6 (diff)
test(resource): added some tests for Embedded, EmbeddedWithCId
-rw-r--r--src/lib.rs2
-rw-r--r--src/macros.rs28
-rw-r--r--src/resource/mod.rs35
3 files changed, 34 insertions, 31 deletions
diff --git a/src/lib.rs b/src/lib.rs
index d3b2d81..4000a00 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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