From 29710d9970b784d0ee3fadd3ba0c7a84c9761451 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 24 Sep 2019 11:34:08 +0200 Subject: [PATCH] gstreamer: Assert that FromValueOptional works as expected Fails without the preceding patch. --- gstreamer/src/caps_features.rs | 15 +++++++++++++++ gstreamer/src/structure.rs | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/gstreamer/src/caps_features.rs b/gstreamer/src/caps_features.rs index 79252ff99..77da06871 100644 --- a/gstreamer/src/caps_features.rs +++ b/gstreamer/src/caps_features.rs @@ -474,3 +474,18 @@ lazy_static! { pub static ref CAPS_FEATURES_MEMORY_SYSTEM_MEMORY: CapsFeatures = CapsFeatures::new(&[*CAPS_FEATURE_MEMORY_SYSTEM_MEMORY]); } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_from_value_optional() { + ::init().unwrap(); + + let a = glib::value::Value::from(None::<&CapsFeatures>); + assert!(a.get::().unwrap().is_none()); + let b = glib::value::Value::from(&CapsFeatures::new_empty()); + assert!(b.get::().unwrap().is_some()); + } +} diff --git a/gstreamer/src/structure.rs b/gstreamer/src/structure.rs index 3ff981acb..c435e5077 100644 --- a/gstreamer/src/structure.rs +++ b/gstreamer/src/structure.rs @@ -837,4 +837,14 @@ mod tests { assert_eq!(a, s.to_string()); } + + #[test] + fn test_from_value_optional() { + ::init().unwrap(); + + let a = glib::value::Value::from(None::<&Structure>); + assert!(a.get::().unwrap().is_none()); + let b = glib::value::Value::from(&Structure::from_string(&"foo").unwrap()); + assert!(b.get::().unwrap().is_some()); + } }