summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml4
-rw-r--r--examples/csv_vectors.rs13
2 files changed, 16 insertions, 1 deletions
diff --git a/Cargo.toml b/Cargo.toml
index c657305..1a76daf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -44,3 +44,7 @@ axum = ["axum-framework", "futures"]
[package.metadata.docs.rs]
features = ["actix4", "warp"]
+
+[[example]]
+name = "csv_vectors"
+test = true \ No newline at end of file
diff --git a/examples/csv_vectors.rs b/examples/csv_vectors.rs
index c193c64..78ed6af 100644
--- a/examples/csv_vectors.rs
+++ b/examples/csv_vectors.rs
@@ -8,7 +8,7 @@ use serde::de::DeserializeOwned;
use std::default::Default;
-#[derive(Debug, Deserialize, Serialize)]
+#[derive(Debug, PartialEq, Deserialize, Serialize)]
struct Query {
#[serde(deserialize_with = "from_csv")]
r: Vec<u8>,
@@ -21,6 +21,17 @@ fn main() {
println!("{:?}", q);
}
+#[test]
+fn deserialize_sequence() {
+ let q = "s=12&r=1,2,3";
+ let q: Query = qs::from_str(q).unwrap();
+ let expected = Query {
+ r: vec![1, 2, 3],
+ s: 12,
+ };
+ assert_eq!(q, expected);
+}
+
fn from_csv<'de, D, T>(deserializer: D) -> Result<Vec<T>, D::Error>
where
D: serde::Deserializer<'de>,