extend ui test

This commit is contained in:
Andre Bogus 2019-04-10 06:00:35 +02:00
parent 08a4628bf6
commit b641fd374e
2 changed files with 34 additions and 1 deletions

View File

@ -321,6 +321,15 @@ macro_rules! eprintln {
/// assert_eq!(dbg!(1usize, 2u32), (1, 2)); /// assert_eq!(dbg!(1usize, 2u32), (1, 2));
/// ``` /// ```
/// ///
/// However, a single argument with a trailing comma will still not be treated
/// as a tuple, following the convention of ignoring trailing commas in macro
/// invocations. You can use a 1-tuple directly if you need one:
///
/// ```
/// assert_eq!(1, dbg!(1u32,)); // trailing comma ignored
/// assert_eq!((1,), dbg!((1u32,))); // 1-tuple
/// ```
///
/// [stderr]: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr) /// [stderr]: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)
/// [`debug!`]: https://docs.rs/log/*/log/macro.debug.html /// [`debug!`]: https://docs.rs/log/*/log/macro.debug.html
/// [`log`]: https://crates.io/crates/log /// [`log`]: https://crates.io/crates/log
@ -341,9 +350,11 @@ macro_rules! dbg {
} }
} }
}; };
// Trailing comma with single argument is ignored
($val:expr,) => { dbg!($val) };
($($val:expr),+ $(,)?) => { ($($val:expr),+ $(,)?) => {
($(dbg!($val)),+,) ($(dbg!($val)),+,)
} };
} }
/// Awaits the completion of an async call. /// Awaits the completion of an async call.

View File

@ -54,6 +54,17 @@ fn test() {
7331 7331
})); }));
assert_eq!(foo, 42); assert_eq!(foo, 42);
// Test trailing comma:
assert_eq!(("Yeah",), dbg!(("Yeah",)));
// Test multiple arguments:
assert_eq!((1u8, 2u32), dbg!(1,
2));
// Test multiple arguments + trailing comma:
assert_eq!((1u8, 2u32, "Yeah"), dbg!(1u8, 2u32,
"Yeah",));
} }
fn validate_stderr(stderr: Vec<String>) { fn validate_stderr(stderr: Vec<String>) {
@ -85,6 +96,17 @@ fn validate_stderr(stderr: Vec<String>) {
"before", "before",
":51] { foo += 1; eprintln!(\"before\"); 7331 } = 7331", ":51] { foo += 1; eprintln!(\"before\"); 7331 } = 7331",
":59] (\"Yeah\",) = (",
" \"Yeah\",",
")",
":62] 1 = 1",
":62] 2 = 2",
":66] 1u8 = 1",
":66] 2u32 = 2",
":66] \"Yeah\" = \"Yeah\"",
]); ]);
} }