Fix code paths that still conflated null characters with EOF

This commit is contained in:
Max Brunsfeld 2019-12-06 15:26:57 -08:00
parent 47a926067d
commit 0cb2ef1082
4 changed files with 15 additions and 4 deletions

View file

@ -266,6 +266,17 @@ fn test_parsing_invalid_chars_at_eof() {
assert_eq!(tree.root_node().to_sexp(), "(ERROR (UNEXPECTED INVALID))");
}
#[test]
fn test_parsing_unexpected_null_characters_within_source() {
let mut parser = Parser::new();
parser.set_language(get_language("javascript")).unwrap();
let tree = parser.parse(b"var \0 something;", None).unwrap();
assert_eq!(
tree.root_node().to_sexp(),
"(program (variable_declaration (ERROR (UNEXPECTED '\\0')) (variable_declarator name: (identifier))))"
);
}
#[test]
fn test_parsing_ends_when_input_callback_returns_empty() {
let mut parser = Parser::new();