From fa8a5de9032fbd1b336c5d15b112848ef40283d1 Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Wed, 3 Jun 2026 16:37:05 -0700 Subject: [PATCH] Add assert_cbor_eq --- src/checked_url.rs | 4 ++-- src/date_time.rs | 14 ++++---------- src/derive.rs | 7 ++----- src/filename.rs | 5 +---- src/language.rs | 5 +---- src/lib.rs | 2 +- src/tag.rs | 5 +---- src/test.rs | 8 ++++++++ 8 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/checked_url.rs b/src/checked_url.rs index 044fc5e4..9993d2e0 100644 --- a/src/checked_url.rs +++ b/src/checked_url.rs @@ -67,9 +67,9 @@ mod tests { #[test] fn encoding() { - assert_cbor( + assert_cbor_eq( "http://example.com".parse::().unwrap(), - &hex::encode("http://example.com".encode_to_vec()), + "http://example.com", ); } } diff --git a/src/date_time.rs b/src/date_time.rs index db349111..ed6c0c60 100644 --- a/src/date_time.rs +++ b/src/date_time.rs @@ -76,17 +76,11 @@ mod tests { #[test] fn encoding() { - assert_cbor( - "1970".parse::().unwrap(), - &hex::encode("1970".encode_to_vec()), - ); - assert_cbor( - "1970-01-01".parse::().unwrap(), - &hex::encode("1970-01-01".encode_to_vec()), - ); - assert_cbor( + assert_cbor_eq("1970".parse::().unwrap(), "1970"); + assert_cbor_eq("1970-01-01".parse::().unwrap(), "1970-01-01"); + assert_cbor_eq( "1970-01-01T00:00:00Z".parse::().unwrap(), - &hex::encode("1970-01-01 00:00:00 +00:00".encode_to_vec()), + "1970-01-01 00:00:00 +00:00", ); } diff --git a/src/derive.rs b/src/derive.rs index 1b6724a2..ede3b4db 100644 --- a/src/derive.rs +++ b/src/derive.rs @@ -465,10 +465,7 @@ fn transparent_named() { } assert_cbor(Foo { bar: "foo".into() }, "63666f6f"); - assert_cbor( - Foo { bar: "foo".into() }, - &hex::encode("foo".encode_to_vec()), - ); + assert_cbor_eq(Foo { bar: "foo".into() }, "foo"); } #[test] @@ -478,5 +475,5 @@ fn transparent_newtype() { struct Foo(u64); assert_cbor(Foo(99), "1863"); - assert_cbor(Foo(99), &hex::encode(99u64.encode_to_vec())); + assert_cbor_eq(Foo(99), 99u64); } diff --git a/src/filename.rs b/src/filename.rs index 0338d2f5..e2653c0b 100644 --- a/src/filename.rs +++ b/src/filename.rs @@ -126,10 +126,7 @@ mod tests { #[test] fn encoding() { - assert_cbor( - "cover.md".parse::().unwrap(), - &hex::encode("cover.md".encode_to_vec()), - ); + assert_cbor_eq("cover.md".parse::().unwrap(), "cover.md"); } #[test] diff --git a/src/language.rs b/src/language.rs index 638a6c25..4f58fcb0 100644 --- a/src/language.rs +++ b/src/language.rs @@ -242,10 +242,7 @@ mod tests { #[test] fn encoding() { - assert_cbor( - "en".parse::().unwrap(), - &hex::encode("en".encode_to_vec()), - ); + assert_cbor_eq("en".parse::().unwrap(), "en"); } #[test] diff --git a/src/lib.rs b/src/lib.rs index 4f239a9f..c3e48b8d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -170,7 +170,7 @@ use { std::assert_matches, strum::IntoDiscriminant, tempfile::TempDir, - test::{assert_cbor, assert_encoding, tempdir}, + test::{assert_cbor, assert_cbor_eq, assert_encoding, tempdir}, unindent::unindent, }; diff --git a/src/tag.rs b/src/tag.rs index 84467bba..4a0e208d 100644 --- a/src/tag.rs +++ b/src/tag.rs @@ -49,10 +49,7 @@ mod tests { #[test] fn encoding() { - assert_cbor( - "A0".parse::().unwrap(), - &hex::encode("A0".encode_to_vec()), - ); + assert_cbor_eq("A0".parse::().unwrap(), "A0"); } #[test] diff --git a/src/test.rs b/src/test.rs index 5d3163c8..e3513073 100644 --- a/src/test.rs +++ b/src/test.rs @@ -32,6 +32,14 @@ pub(crate) fn assert_cbor(value: T, cbor assert_eq!(decoded, value); } +#[track_caller] +pub(crate) fn assert_cbor_eq( + value: T, + expected: impl Encode, +) { + assert_cbor(value, &hex::encode(expected.encode_to_vec())); +} + #[track_caller] pub(crate) fn assert_encoding(value: T) { let buffer = value.encode_to_vec();