summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSam Scott <sam@osohq.com>2020-06-23 13:37:04 -0400
committerSam Scott <sam@osohq.com>2020-06-23 13:37:04 -0400
commit165b80ddd4736ac0e89130bc8a30d714b9a8e6c1 (patch)
tree874bd6f99d2ed5a473fcf68c25e6c91fb33e440d /tests
parent18b2d31600be739f8e67d3b07e19d812361a43d2 (diff)
Add unsupported test case
Diffstat (limited to 'tests')
-rw-r--r--tests/test_deserialize.rs35
1 files changed, 32 insertions, 3 deletions
diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs
index 213a3fa..bac2948 100644
--- a/tests/test_deserialize.rs
+++ b/tests/test_deserialize.rs
@@ -398,18 +398,42 @@ fn seq_of_struct() {
#[derive(Deserialize, Debug, PartialEq)]
struct Test {
a: u8,
+ b: u8
}
#[derive(Deserialize, Debug, PartialEq)]
struct Query {
- b: Vec<Test>,
+ elements: Vec<Test>,
}
- let params = "b[0][a]=1&b[1][a]=2";
+ let params = "elements[0][a]=1&elements[0][b]=3&elements[1][a]=2&elements[1][b]=4";
let rec_params: Query = qs::from_str(params).unwrap();
assert_eq!(
rec_params,
Query {
- b: vec![Test { a: 1 }, Test { a: 2 }]
+ elements: vec![Test { a: 1, b: 3 }, Test { a: 2, b: 4 }]
+ }
+ );
+}
+
+#[should_panic]
+#[test]
+fn unsupported_seq_of_struct() {
+ #[derive(Deserialize, Debug, PartialEq)]
+ struct Test {
+ a: u8,
+ b: u8
+ }
+ #[derive(Deserialize, Debug, PartialEq)]
+ struct Query {
+ elements: Vec<Test>,
+ }
+
+ let params = "elements[][a]=1&elements[][b]=3&elements[][a]=2&elements[][b]=4";
+ let rec_params: Query = qs::from_str(params).unwrap();
+ assert_eq!(
+ rec_params,
+ Query {
+ elements: vec![Test { a: 1, b: 3 }, Test { a: 2, b: 4 }]
}
);
}
@@ -604,3 +628,8 @@ fn deserialize_plus() {
let test: Test = serde_qs::from_str("email=a%2Bb%40c.com").unwrap();
assert_eq!(test.email, "a+b@c.com");
}
+
+#[test]
+fn deserialize_vec_of_structs() {
+
+}