Add tests for previous sibling, last child

This commit is contained in:
Daumantas Kavolis 2023-06-16 13:22:11 +03:00
parent e2c2e39e15
commit fd8fd3f535
2 changed files with 45 additions and 1 deletions

View file

@ -105,7 +105,7 @@
"_ts_tree_cursor_end_index_wasm",
"_ts_tree_cursor_end_position_wasm",
"_ts_tree_cursor_goto_first_child_wasm",
"_ts_tree_cursor_goto_last_child",
"_ts_tree_cursor_goto_last_child_wasm",
"_ts_tree_cursor_goto_next_sibling_wasm",
"_ts_tree_cursor_goto_previous_sibling_wasm",
"_ts_tree_cursor_goto_parent_wasm",

View file

@ -244,6 +244,50 @@ describe("Tree", () => {
endIndex: 13
});
{
const copy = tree.walk();
copy.resetTo(cursor);
assert(copy.gotoPreviousSibling());
assertCursorState(copy, {
nodeType: '+',
nodeIsNamed: false,
startPosition: {row: 0, column: 6},
endPosition: {row: 0, column: 7},
startIndex: 6,
endIndex: 7
});
assert(copy.gotoPreviousSibling());
assertCursorState(copy, {
nodeType: 'binary_expression',
nodeIsNamed: true,
startPosition: {row: 0, column: 0},
endPosition: {row: 0, column: 5},
startIndex: 0,
endIndex: 5
});
assert(copy.gotoLastChild());
assertCursorState(copy, {
nodeType: "identifier",
nodeIsNamed: true,
startPosition: {row: 0, column: 4},
endPosition: {row: 0, column: 5},
startIndex: 4,
endIndex: 5
})
assert(copy.gotoParent());
assert(copy.gotoParent());
assert.equal(copy.nodeType, 'binary_expression')
assert(copy.gotoParent());
assert.equal(copy.nodeType, 'expression_statement')
assert(copy.gotoParent());
assert.equal(copy.nodeType, 'program')
assert(!copy.gotoParent());
}
// const childIndex = cursor.gotoFirstChildForIndex(12);
// assertCursorState(cursor, {
// nodeType: 'identifier',