From 60ad9b503881e2175d00fe97e707934c87349f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 13 Feb 2023 11:39:52 +0200 Subject: [PATCH] gstreamer: Add a test for various combinations of `element_error!` string formatting --- gstreamer/src/element.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gstreamer/src/element.rs b/gstreamer/src/element.rs index ddb79f121..dc4c36083 100644 --- a/gstreamer/src/element.rs +++ b/gstreamer/src/element.rs @@ -1406,4 +1406,24 @@ mod tests { assert_eq!(receiver.recv(), Ok(())); } + + #[test] + fn test_element_error() { + crate::init().unwrap(); + + let identity = crate::ElementFactory::make("identity").build().unwrap(); + + crate::element_error!(identity, crate::CoreError::Failed, ("msg"), ["debug"]); + crate::element_error!(identity, crate::CoreError::Failed, ["debug"]); + crate::element_error!(identity, crate::CoreError::Failed, ("msg")); + + // We define a new variable for each call so there would be a compiler warning if the + // string formatting did not actually use it. + let x = 123i32; + crate::element_error!(identity, crate::CoreError::Failed, ("msg {x}"), ["debug"]); + let x = 123i32; + crate::element_error!(identity, crate::CoreError::Failed, ["debug {x}"]); + let x = 123i32; + crate::element_error!(identity, crate::CoreError::Failed, ("msg {}", x)); + } }