summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_deserialize.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs
index 20a573c..6d5cc9b 100644
--- a/tests/test_deserialize.rs
+++ b/tests/test_deserialize.rs
@@ -360,3 +360,22 @@ fn deserialize_enum() {
let rec_params: E = qs::from_str(params).unwrap();
assert_eq!(rec_params, E::S("Hello World".to_string()));
}
+
+#[test]
+fn seq_of_struct() {
+
+ #[derive(Deserialize, Debug, PartialEq)]
+ struct Test {
+ a: u8
+ }
+ #[derive(Deserialize, Debug, PartialEq)]
+ struct Query {
+ b: Vec<Test>,
+ }
+
+ let params = "b[0][a]=1&b[1][a]=2";
+ let rec_params: Query = qs::from_str(params).unwrap();
+ assert_eq!(rec_params,
+ Query { b: vec![Test { a: 1 }, Test { a: 2 }] }
+ );
+} \ No newline at end of file