diff --git a/Cargo.toml b/Cargo.toml index 72e0221..58c4a3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,5 @@ pest_derive = "2.0" serde = "1.0" [dev-dependencies] -matches = "0.1.8" serde_derive = "1.0" serde_json = "1.0" diff --git a/tests/common.rs b/tests/common.rs index 7572914..08ae8d0 100644 --- a/tests/common.rs +++ b/tests/common.rs @@ -1,5 +1,4 @@ use json5::{Error, Location}; -use matches::assert_matches; use serde_derive::{Deserialize, Serialize}; use std::collections::HashMap; @@ -17,37 +16,51 @@ pub enum Val { } #[allow(unused)] +#[track_caller] pub fn deserializes_to<'a, T>(s: &'a str, v: T) where T: ::std::fmt::Debug + ::std::cmp::PartialEq + serde::de::Deserialize<'a>, { - assert_matches!(json5::from_str::(s), Ok(value) if value == v); + assert_eq!(json5::from_str::(s).expect("deserialization failed"), v); } #[allow(unused)] -pub fn deserializes_to_nan_f32<'a>(s: &'a str) { - assert_matches!(json5::from_str::(s), Ok(value) if value.is_nan()); +#[track_caller] +pub fn deserializes_to_nan_f32(s: &str) { + let float = json5::from_str::(s).expect("f32 deserialization failed"); + if !float.is_nan() { + panic!("assertion failed: {}.is_nan()", float); + } } #[allow(unused)] -pub fn deserializes_to_nan_f64<'a>(s: &'a str) { - assert_matches!(json5::from_str::(s), Ok(value) if value.is_nan()); +#[track_caller] +pub fn deserializes_to_nan_f64(s: &str) { + let float = json5::from_str::(s).expect("f64 deserialization failed"); + if !float.is_nan() { + panic!("assertion failed: {}.is_nan()", float); + } } #[allow(unused)] +#[track_caller] pub fn deserializes_with_error<'a, T>(s: &'a str, error_expected: Error) where T: ::std::fmt::Debug + ::std::cmp::PartialEq + serde::de::Deserialize<'a>, { - assert_matches!(json5::from_str::(s), Err(e) if e == error_expected); + assert_eq!( + json5::from_str::(s).expect_err("deserialization succeeded"), + error_expected + ); } #[allow(unused)] +#[track_caller] pub fn serializes_to(v: T, s: &'static str) where T: ::std::fmt::Debug + ::std::cmp::PartialEq + serde::ser::Serialize, { - assert_matches!(json5::to_string::(&v), Ok(value) if value == s); + assert_eq!(json5::to_string::(&v).expect("serialization failed"), s); } #[allow(unused)]