From d0c1a3ecc4ce648fcd9ecc7f0f6bca4b42872919 Mon Sep 17 00:00:00 2001 From: Sam Scott Date: Mon, 20 Mar 2017 20:28:20 +0000 Subject: Add more tests for de/serializing Options. --- tests/test_serialize.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'tests/test_serialize.rs') diff --git a/tests/test_serialize.rs b/tests/test_serialize.rs index 4a9964a..5751ff6 100644 --- a/tests/test_serialize.rs +++ b/tests/test_serialize.rs @@ -41,3 +41,25 @@ fn serialize_struct() { fn urlencode(input: &str) -> String { str::replace(&str::replace(input, "[", "%5B"), "]", "%5D") } + +#[test] +fn serialize_option() { + #[derive(Debug,Serialize,Deserialize,PartialEq)] + struct Query { + vec: Option>, + } + + let params = ""; + let query = Query { + vec: None, + }; + let rec_params = qs::to_string(&query).unwrap(); + assert_eq!(rec_params, params); + + let params = urlencode("vec[0]=1&vec[1]=2"); + let query = Query { + vec: Some(vec![1,2]), + }; + let rec_params = qs::to_string(&query).unwrap(); + assert_eq!(rec_params, params); +} -- cgit v1.2.3