json-parser/tests/error_tests.rs

46 lines
918 B
Rust

use naive_json_parser::*;
#[test]
fn sanity_check() {
let res = JSON::parse(r#"-q"#);
assert_eq!(
res,
Err(ParseError::ExpectedDigit(String::from(
"Expected a digit, received 'q' after numeric '-'"
)))
);
}
#[test]
fn bad_object_trailing_comma() {
let res = JSON::parse("{,}");
assert_eq!(
res,
Err(ParseError::ExpectedObjectKey(String::from(
"Expected an object key. Does the object have a trailing comma?"
)))
);
}
#[test]
fn bad_json() {
let res = JSON::parse(r#"5eq"#);
assert!(res.is_err());
}
#[test]
fn empty_json() {
let res: JSONResult = JSON::parse("");
assert_eq!(
res,
Err(ParseError::UnexpectedEndOfInput(String::from("Empty input")))
)
}
#[test]
#[should_panic]
fn invalid_unwrap() {
let wrapped = JSONValue::from(5.2f64);
let _: String = wrapped.unwrap();
}