Deserialize () from input without key/value pairs.
This commit is contained in:
parent
c5839b94e5
commit
ecb91cfcd7
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "serde_urlencoded"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
authors = ["Anthony Ramine <n.oxyde@gmail.com>"]
|
||||
license = "MIT/Apache-2.0"
|
||||
repository = "https://github.com/nox/serde_urlencoded"
|
||||
|
@ -18,7 +18,7 @@ This crate works with Cargo and can be found on
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
serde_urlencoded = "0.4.2"
|
||||
serde_urlencoded = "0.5.1"
|
||||
```
|
||||
|
||||
[crates.io]: https://crates.io/crates/serde_urlencoded
|
||||
|
@ -110,6 +110,13 @@ impl<'de> de::Deserializer<'de> for Deserializer<'de> {
|
||||
visitor.visit_seq(self.inner)
|
||||
}
|
||||
|
||||
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error>
|
||||
where V: de::Visitor<'de>,
|
||||
{
|
||||
self.inner.end()?;
|
||||
visitor.visit_unit()
|
||||
}
|
||||
|
||||
forward_to_deserialize_any! {
|
||||
bool
|
||||
u8
|
||||
@ -125,7 +132,6 @@ impl<'de> de::Deserializer<'de> for Deserializer<'de> {
|
||||
char
|
||||
str
|
||||
string
|
||||
unit
|
||||
option
|
||||
bytes
|
||||
byte_buf
|
||||
|
@ -32,3 +32,11 @@ fn deserialize_option() {
|
||||
];
|
||||
assert_eq!(serde_urlencoded::from_str("first=23&last=42"), Ok(result));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn deserialize_unit() {
|
||||
assert_eq!(serde_urlencoded::from_str(""), Ok(()));
|
||||
assert_eq!(serde_urlencoded::from_str("&"), Ok(()));
|
||||
assert_eq!(serde_urlencoded::from_str("&&"), Ok(()));
|
||||
assert!(serde_urlencoded::from_str::<()>("first=23").is_err());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user