Add test of RawValue deserialization from invalid utf-8

This commit is contained in:
David Tolnay 2021-02-27 20:44:05 -08:00
parent 9bcb08fd92
commit 2f812d0363
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -2201,6 +2201,25 @@ fn test_boxed_raw_value() {
assert_eq!(r#"["a",42,{"foo": "bar"},null]"#, array_to_string);
}
#[cfg(feature = "raw_value")]
#[test]
fn test_raw_invalid_utf8() {
use serde_json::value::RawValue;
let j = &[b'"', b'\xCE', b'\xF8', b'"'];
let value_err = serde_json::from_slice::<Value>(j).unwrap_err();
let raw_value_err = serde_json::from_slice::<Box<RawValue>>(j).unwrap_err();
assert_eq!(
value_err.to_string(),
"invalid unicode code point at line 1 column 4",
);
assert_eq!(
raw_value_err.to_string(),
"invalid unicode code point at line 1 column 4",
);
}
#[test]
fn test_borrow_in_map_key() {
#[derive(Deserialize, Debug)]