fix(lib): correct next sibling of zero width node
This commit is contained in:
parent
51dfe3dbdb
commit
5d1be545c4
4 changed files with 63 additions and 4 deletions
|
|
@ -306,6 +306,33 @@ fn test_parent_of_zero_width_node() {
|
|||
assert_eq!(parent, script_element);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_next_sibling_of_zero_width_node() {
|
||||
let grammar_json = load_grammar_file(
|
||||
&fixtures_dir()
|
||||
.join("test_grammars")
|
||||
.join("next_sibling_from_zwt")
|
||||
.join("grammar.js"),
|
||||
None,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let (parser_name, parser_code) = generate_parser_for_grammar(&grammar_json).unwrap();
|
||||
|
||||
let mut parser = Parser::new();
|
||||
let language = get_test_language(&parser_name, &parser_code, None);
|
||||
parser.set_language(&language).unwrap();
|
||||
|
||||
let tree = parser.parse("abdef", None).unwrap();
|
||||
|
||||
let root_node = tree.root_node();
|
||||
let missing_c = root_node.child(2).unwrap();
|
||||
assert!(missing_c.is_missing());
|
||||
assert_eq!(missing_c.kind(), "c");
|
||||
let node_d = root_node.child(3).unwrap();
|
||||
assert_eq!(missing_c.next_sibling().unwrap(), node_d);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_node_field_name_for_child() {
|
||||
let mut parser = Parser::new();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue