From 17528729b51578c034cec5efd8599535076a8dd3 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 7 Apr 2024 21:38:09 +0300 Subject: Add test for `csv_vectors` example (#82) --- Cargo.toml | 4 ++++ examples/csv_vectors.rs | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) 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, @@ -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, D::Error> where D: serde::Deserializer<'de>, -- cgit v1.2.3