Fix incorrect node reuse for edits right at EOF

This commit is contained in:
Max Brunsfeld 2018-11-11 21:36:31 -08:00
parent 392e8ea749
commit 10ab7032a6
3 changed files with 43 additions and 5 deletions

View file

@ -452,6 +452,21 @@ describe("Parser", [&]() {
});
});
describe("insertions at the end of the file", [&]() {
it("doesn't incorrectly reuse nodes at EOF", [&]() {
ts_parser_set_language(parser, load_real_language("javascript"));
set_text("ab");
assert_root_node("(program (expression_statement (identifier)))");
insert_text(input->content.size(), " ");
insert_text(input->content.size(), "+=");
insert_text(input->content.size(), " ");
insert_text(input->content.size(), "12");
assert_root_node("(program (expression_statement (augmented_assignment_expression (identifier) (number))))");
});
});
it("does not try to reuse nodes that are within the edited region", [&]() {
ts_parser_set_language(parser, load_real_language("javascript"));
set_text("{ x: (b.c) };");