summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander <etc9053@gmail.com>2024-04-07 21:38:09 +0300
committerGitHub <noreply@github.com>2024-04-07 13:38:09 -0500
commit17528729b51578c034cec5efd8599535076a8dd3 (patch)
treea9bef1c233f871ec9627879547cc82bd54775b8f
parent8a13b677f1b99ab78870f8731e75a7642f2d0530 (diff)
Add test for `csv_vectors` example (#82)
-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>,