diff options
author | Sam Scott <sam.scott89@gmail.com> | 2017-04-29 20:16:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-29 20:16:39 +0100 |
commit | 0f8cab2e85925099e35d0a42bac71f86ef624dbf (patch) | |
tree | cc63435072a4c31cd62c7758d3c8518ac91a658b /tests | |
parent | a9ba2e0110fcadc65c0930f8e4d5c15e5a380a32 (diff) | |
parent | 50ee9133881bd5d8189c4396bd6eb3e360a5b19e (diff) |
Merge pull request #4 from kardeiz/tests-02
Handle primitive map keys
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_deserialize.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs index cd22458..4d44e5e 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_deserialize.rs @@ -175,6 +175,34 @@ fn qs_test_simple() { } #[test] +fn qs_u32_map() { + #[derive(Debug,Serialize,Deserialize,PartialEq)] + struct Query { + map: HashMap<u32, String> + } + + let query = { + let mut map = HashMap::new(); + map.insert(10, "Hello".into()); + Query { map: map } + }; + + let params: Query = qs::from_str("map[10]=Hello").unwrap(); + assert_eq!(params, query) +} + +#[test] +fn no_panic_on_parse_error() { + #[derive(Debug,Serialize,Deserialize,PartialEq)] + struct Query { + vec: Vec<u32> + } + + let params: Result<Query, _> = qs::from_str("vec[]=a&vec[]=2"); + assert!(params.is_err()) +} + +#[test] fn qs_nesting() { // t.deepEqual(qs.parse('a[b]=c'), { a: { b: 'c' } }, 'parses a single // nested string'); |