aboutsummaryrefslogtreecommitdiff
path: root/test/functional/treesitter/parser_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/treesitter/parser_spec.lua')
-rw-r--r--test/functional/treesitter/parser_spec.lua37
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)