summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSam Scott <sam.scott89@gmail.com>2017-05-28 22:55:46 +0100
committerSam Scott <sam.scott89@gmail.com>2017-05-28 23:00:47 +0100
commit9a622ddad5e8edaf62beb1083c9433ccead11c82 (patch)
treefcb139f144bf787bbf01e5475e23054fb519c8c0 /tests
parent15137be4a0b02a40bea178127472554d8a7bba3a (diff)
Create correct level type when parsing a nested ordered seq.
Fixes #7.
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