From b69c42eb9b9f055e74353c9c149074616eff181f Mon Sep 17 00:00:00 2001 From: Sam Scott Date: Wed, 23 Jan 2019 11:13:18 -0500 Subject: Add documentation and workaroud for `#[serde(flatten)]` usage. --- tests/test_serialize.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests/test_serialize.rs') diff --git a/tests/test_serialize.rs b/tests/test_serialize.rs index 80e2d7c..5a918ab 100644 --- a/tests/test_serialize.rs +++ b/tests/test_serialize.rs @@ -92,3 +92,24 @@ fn serialize_enum() { let rec_params = qs::to_string(&query).unwrap(); assert_eq!(rec_params, params); } + +#[test] +fn serialize_flatten() { + #[derive(Deserialize,Serialize,Debug, PartialEq)] + struct Query { + a: u8, + #[serde(flatten)] + common: CommonParams, + } + + #[derive(Deserialize,Serialize,Debug, PartialEq)] + struct CommonParams { + limit: u64, + offset: u64, + } + + let params = "a=1&limit=100&offset=50"; + let query = Query { a: 1, common: CommonParams { limit: 100, offset: 50 } }; + let rec_params = qs::to_string(&query).unwrap(); + assert_eq!(rec_params, params); +} -- cgit v1.2.3