summaryrefslogtreecommitdiff
path: root/tests/test_serialize.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_serialize.rs')
-rw-r--r--tests/test_serialize.rs21
1 files changed, 21 insertions, 0 deletions
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);
+}