summaryrefslogtreecommitdiffstats
path: root/crates/printer/src/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/printer/src/macros.rs')
-rw-r--r--crates/printer/src/macros.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/crates/printer/src/macros.rs b/crates/printer/src/macros.rs
new file mode 100644
index 00000000..0b1e764b
--- /dev/null
+++ b/crates/printer/src/macros.rs
@@ -0,0 +1,24 @@
+/// Like assert_eq, but nicer output for long strings.
+#[cfg(test)]
+#[macro_export]
+macro_rules! assert_eq_printed {
+ ($expected:expr, $got:expr) => {
+ let expected = &*$expected;
+ let got = &*$got;
+ if expected != got {
+ panic!("
+printed outputs differ!
+
+expected:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+{}
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+got:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+{}
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+", expected, got);
+ }
+ }
+}