use super::*;
#[test]
fn every_escape_survives_a_round_trip() {
for s in [
"back\\slash",
"carriage\rreturn",
"tab\there",
"quote\"inside",
"new\nline",
"all\\ \" \n \r \t together",
] {
let encoded = Json::str(s).to_json();
assert_eq!(
parse(&encoded).expect("re-parses").as_str(),
Some(s),
"round trip failed for {s:?} via {encoded}"
);
}
}
#[test]
fn a_structural_error_names_what_was_expected() {
let e = parse(r#"{"a":1 "b":2}"#).expect_err("malformed");
assert!(e.contains(',') || e.contains('}'), "{e}");
let e = parse("[1 2]").expect_err("malformed");
assert!(e.contains(',') || e.contains(']'), "{e}");
}