diff options
Diffstat (limited to 'tests/test_serialize.rs')
-rw-r--r-- | tests/test_serialize.rs | 22 |
1 files changed, 22 insertions, 0 deletions
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<Vec<u8>>, + } + + 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); +} |