diff options
author | Sam Scott <sam.scott89@gmail.com> | 2017-05-28 22:55:46 +0100 |
---|---|---|
committer | Sam Scott <sam.scott89@gmail.com> | 2017-05-28 23:00:47 +0100 |
commit | 9a622ddad5e8edaf62beb1083c9433ccead11c82 (patch) | |
tree | fcb139f144bf787bbf01e5475e23054fb519c8c0 /tests | |
parent | 15137be4a0b02a40bea178127472554d8a7bba3a (diff) |
Create correct level type when parsing a nested ordered seq.
Fixes #7.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_deserialize.rs | 19 |
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 |