diff options
Diffstat (limited to 'test/functional/treesitter/parser_spec.lua')
-rw-r--r-- | test/functional/treesitter/parser_spec.lua | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/test/functional/treesitter/parser_spec.lua b/test/functional/treesitter/parser_spec.lua index d2f9148e8f..ffaa4141c4 100644 --- a/test/functional/treesitter/parser_spec.lua +++ b/test/functional/treesitter/parser_spec.lua @@ -10,9 +10,11 @@ local pending_c_parser = helpers.pending_c_parser before_each(clear) describe('treesitter parser API', function() + clear() + if pending_c_parser(pending) then return end it('parses buffer', function() - if helpers.pending_win32(pending) or pending_c_parser(pending) then return end + if helpers.pending_win32(pending) then return end insert([[ int main() { @@ -103,8 +105,6 @@ void ui_refresh(void) }]] it('allows to iterate over nodes children', function() - if pending_c_parser(pending) then return end - insert(test_text); local res = exec_lua([[ @@ -127,8 +127,6 @@ void ui_refresh(void) end) it('allows to get a child by field', function() - if pending_c_parser(pending) then return end - insert(test_text); local res = exec_lua([[ @@ -162,8 +160,6 @@ void ui_refresh(void) ]] it("supports runtime queries", function() - if pending_c_parser(pending) then return end - local ret = exec_lua [[ return require"vim.treesitter.query".get_query("c", "highlights").captures[1] ]] @@ -172,8 +168,6 @@ void ui_refresh(void) end) it('support query and iter by capture', function() - if pending_c_parser(pending) then return end - insert(test_text) local res = exec_lua([[ @@ -203,8 +197,6 @@ void ui_refresh(void) end) it('support query and iter by match', function() - if pending_c_parser(pending) then return end - insert(test_text) local res = exec_lua([[ @@ -236,8 +228,6 @@ void ui_refresh(void) end) it('can match special regex characters like \\ * + ( with `vim-match?`', function() - if pending_c_parser(pending) then return end - insert('char* astring = "\\n"; (1 + 1) * 2 != 2;') local res = exec_lua([[ @@ -271,8 +261,6 @@ void ui_refresh(void) end) it('supports builtin query predicate any-of?', function() - if pending_c_parser(pending) then return end - insert([[ #include <stdio.h> @@ -330,8 +318,6 @@ void ui_refresh(void) end) it('allow loading query with escaped quotes and capture them with `lua-match?` and `vim-match?`', function() - if pending_c_parser(pending) then return end - insert('char* astring = "Hello World!";') local res = exec_lua([[ @@ -407,8 +393,6 @@ void ui_refresh(void) it('allows to set simple ranges', function() - if pending_c_parser(pending) then return end - insert(test_text) local res = exec_lua [[ @@ -450,8 +434,6 @@ void ui_refresh(void) eq(range_tbl, { { { 0, 0, 0, 17, 1, 508 } } }) end) it("allows to set complex ranges", function() - if pending_c_parser() then return end - insert(test_text) local res = exec_lua [[ @@ -646,6 +628,19 @@ int x = INT_MAX; {2, 29, 2, 68} -- READ_STRING_OK(x, y) (char_u *)read_string((x), (size_t)(y)) }, get_ranges()) end) + it("should list all directives", function() + local res_list = exec_lua[[ + local query = require'vim.treesitter.query' + + local list = query.list_directives() + + table.sort(list) + + return list + ]] + + eq({ 'offset!', 'set!' }, res_list) + end) end) end) |