summaryrefslogtreecommitdiffstats
path: root/core/src/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/macros.rs')
-rw-r--r--core/src/macros.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/core/src/macros.rs b/core/src/macros.rs
new file mode 100644
index 0000000..f820ec4
--- /dev/null
+++ b/core/src/macros.rs
@@ -0,0 +1,52 @@
+
+#[cfg(test)]
+macro_rules! assert_not {
+ //direct forward + `!`
+ ($($t:tt)*) => (assert!(! $($t)*));
+}
+
+#[cfg(test)]
+macro_rules! assert_ok {
+ ($val:expr) => ({
+ match $val {
+ Ok(res) => res,
+ Err(err) => panic!( "expected Ok(..) got Err({:?})", err)
+ }
+ });
+ ($val:expr, $ctx:expr) => ({
+ match $val {
+ Ok( res ) => res,
+ Err(err) => panic!( "expected Ok(..) got Err({:?}) [ctx: {:?}]", err, $ctx)
+ }
+ });
+}
+
+#[cfg(test)]
+macro_rules! assert_err {
+ ($val:expr) => ({
+ match $val {
+ Ok( val ) => panic!( "expected Err(..) got Ok({:?})", val),
+ Err( err ) => err,
+ }
+ });
+ ($val:expr, $ctx:expr) => ({
+ match $val {
+ Ok( val ) => panic!( "expected Err(..) got Ok({:?}) [ctx: {:?}]", val, $ctx),
+ Err( err ) => err,
+ }
+ });
+}
+
+#[cfg(test)]
+macro_rules! test {
+ ($name:ident, $code:block) => (
+ #[test]
+ fn $name() {
+ let catch_block = || -> Result<(), ::error::MailError> {
+ $code;
+ Ok(())
+ };
+ (catch_block)().unwrap();
+ }
+ );
+} \ No newline at end of file