Add TSInput option to measure columns in bytes not characters

This commit is contained in:
Max Brunsfeld 2017-06-15 16:35:34 -07:00
parent b862db766e
commit c66fddd3aa
6 changed files with 26 additions and 5 deletions

View file

@ -76,11 +76,22 @@ describe("Document", [&]() {
const char16_t content[] = u"[true, false]";
spy_input->content = string((const char *)content, sizeof(content));
spy_input->encoding = TSInputEncodingUTF16;
// spy_input->measure_columns_in_bytes
TSInput input = spy_input->input();
ts_document_set_input(document, spy_input->input());
input.measure_columns_in_bytes = false;
ts_document_set_input(document, input);
ts_document_invalidate(document);
ts_document_parse(document);
TSNode root = ts_document_root_node(document);
AssertThat(ts_node_end_point(root), Equals<TSPoint>({0, 13}));
input.measure_columns_in_bytes = true;
ts_document_set_input(document, input);
ts_document_invalidate(document);
ts_document_parse(document);
root = ts_document_root_node(document);
AssertThat(ts_node_end_point(root), Equals<TSPoint>({0, 26}));
});
it("allows the input to be retrieved later", [&]() {