12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include <libhighlight.h>
- #include <assert.h>
- #include <unistd.h>
- #include <string.h>
- #include <stdio.h>
- char *test_str[] = {
- "hello\n",
- "char *p = \"this is a quoted string\";",
- "char p = 'h';",
- "// a single line comment\n",
- "# single line definition/comment\n",
- "/*\n * mutiline\n comment \n */\n"
- };
- int ts_len = 6;
- int changeme = 0;
- void simple_next_word(char *word, int len, hl_node *root, hl_ctx *ctx) {
- changeme = 1;
- }
- int main() {
- size_t rlen;
- hl_root *res;
- for (int i = 0; i < ts_len; i++) {
- changeme = 0;
- rlen = strlen(test_str[i]);
- res = hl_parser(test_str[i], rlen, simple_next_word);
- assert(changeme == 1);
- assert(res != NULL);
- assert(res->text_size == rlen);
- hl_root_free(res);
- }
- for (int i = 0; i < ts_len; i++) {
- changeme = 0;
- rlen = strlen(test_str[i]);
- res = hl_parser(test_str[i], rlen, NULL);
- assert(res != NULL);
- assert(res->text_size == rlen);
- hl_root_free(res);
- }
- return 0;
- }
|