in native/src/tests.c [97:126]
void test_crash() {
FILE *f = fopen("/Users/jetzajac/Projects/jsitter/testData/router_go", "r");
fseek (f, 0, SEEK_END);
size_t s = ftell(f);
rewind(f);
void *b = malloc(s + 1000);
fread(b, s, 1, f);
TSParser *parser = ts_parser_new();
ts_parser_set_language(parser, tree_sitter_go());
TSTree *tree = ts_parser_parse_string(parser,
NULL,
(const char *)b,
s);
TSTree *copy = ts_tree_copy(tree);
//for (int i = 0; i < 100; ++i) {
int i = 2; {
printf("i = %d\n", i);
//str_insert(1000 + i, 'x', b, s + i);
TSTree *copy = ts_tree_copy(tree);
TSInputEdit e; // + 8
e.start_byte = 2000;
e.old_end_byte = 2000;
e.new_end_byte = 2000 + i;
ts_tree_edit(copy, &e);
TSTree *new_tree = ts_parser_parse_string(parser, copy, b, s);
ts_tree_delete(copy);
ts_tree_delete(new_tree);
ts_parser_reset(parser);
}
}