From 26423a069c2afdada720017063cb36b8f6ce35c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= Date: Fri, 16 Aug 2019 15:04:01 +0200 Subject: [PATCH] structure::tests: use error constructors --- gstreamer/src/structure.rs | 55 +++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/gstreamer/src/structure.rs b/gstreamer/src/structure.rs index 3565df303..ae6bf7a6a 100644 --- a/gstreamer/src/structure.rs +++ b/gstreamer/src/structure.rs @@ -753,6 +753,8 @@ mod tests { #[test] fn new_set_get() { + use glib::{value, Type}; + ::init().unwrap(); let mut s = Structure::new_empty("test"); @@ -770,37 +772,28 @@ mod tests { assert_eq!(s.get_optional::("f3"), Ok(Some(123i32))); assert_eq!(s.get_optional::("f4"), Ok(None)); - // FIXME: use a proper `assert_eq!`, but that requires - // `glib::value::GetError fields to be public - // See https://github.com/gtk-rs/glib/issues/515 - match s.get::("f2") { - Err(GetError::ValueGetError { name, .. }) if name == "f2" => (), - res => panic!( - "Expected GetError::ValueGetError{{ \"f2\", .. }} found {:?}", - res - ), - } - match s.get_some::("f3") { - Err(GetError::ValueGetError { name, .. }) if name == "f3" => (), - res => panic!( - "Expected GetError::ValueGetError{{ \"f3\", .. }} found {:?}", - res - ), - } - match s.get::<&str>("f4") { - Err(GetError::FieldNotFound { name }) if name == "f4" => (), - res => panic!( - "Expected GetError::FieldNotFound{{ \"f4\" }} found {:?}", - res - ), - } - match s.get_some::("f4") { - Err(GetError::FieldNotFound { name }) if name == "f4" => (), - res => panic!( - "Expected GetError::FieldNotFound{{ \"f4\" }} found {:?}", - res - ), - } + assert_eq!( + s.get::("f2"), + Err(GetError::from_value_get_error( + "f2", + value::GetError::new_type_mismatch(Type::String, Type::I32), + )) + ); + assert_eq!( + s.get_some::("f3"), + Err(GetError::from_value_get_error( + "f3", + value::GetError::new_type_mismatch(Type::I32, Type::Bool), + )) + ); + assert_eq!( + s.get::<&str>("f4"), + Err(GetError::new_field_not_found("f4")) + ); + assert_eq!( + s.get_some::("f4"), + Err(GetError::new_field_not_found("f4")) + ); assert_eq!(s.fields().collect::>(), vec!["f1", "f2", "f3"]);