From 8a13b677f1b99ab78870f8731e75a7642f2d0530 Mon Sep 17 00:00:00 2001 From: Sam Scott Date: Thu, 2 Mar 2023 00:15:59 -0500 Subject: Fix clippy, bump version. --- Cargo.toml | 2 +- README.md | 2 +- tests/test_deserialize.rs | 20 ++++++++++++++++++++ tests/test_serialize.rs | 2 ++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5443468..c657305 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT/Apache-2.0" name = "serde_qs" repository = "https://github.com/samscott89/serde_qs" readme = "README.md" -version = "0.11.0" +version = "0.12.0" rust-version = "1.36" [dependencies] diff --git a/README.md b/README.md index 93f9241..5b8917b 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ This crate works with Cargo and can be found on ```toml [dependencies] -serde_qs = "0.11" +serde_qs = "0.12" ``` Minimum supported Rust version is 1.36. diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs index b2f9dc8..cbe2019 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_deserialize.rs @@ -702,6 +702,10 @@ fn deserialize_map_with_int_keys() { #[test] fn deserialize_unit_types() { + // allow these clippy lints cause I like how explicit the test is + #![allow(clippy::let_unit_value)] + #![allow(clippy::unit_cmp)] + #[derive(Debug, Deserialize, PartialEq)] struct A; #[derive(Debug, Deserialize, PartialEq)] @@ -722,3 +726,19 @@ fn deserialize_unit_types() { let test: B = serde_qs::from_str("t=&a=test").unwrap(); assert_eq!(test, B { t: (), a: "test" }); } + +#[test] +fn serialization_roundtrip() { + #[derive(Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)] + struct Data { + #[serde(default)] + values: Vec, + } + + let data = Data { values: Vec::new() }; + let serialized = serde_qs::to_string(&data).unwrap(); + + dbg!(&serialized); + let deserialized = serde_qs::from_str::(&serialized).unwrap(); + assert_eq!(deserialized, data); +} diff --git a/tests/test_serialize.rs b/tests/test_serialize.rs index 0b9f0c6..0ddd202 100644 --- a/tests/test_serialize.rs +++ b/tests/test_serialize.rs @@ -250,6 +250,8 @@ fn test_serializer_unit() { let mut writer = Vec::new(); { let serializer = &mut qs::Serializer::new(&mut writer); + // allow this clippy lints cause I like how explicit the test is + #[allow(clippy::let_unit_value)] let q = (); q.serialize(serializer).unwrap(); } -- cgit v1.2.3