aboutsummaryrefslogtreecommitdiff
path: root/test/functional/treesitter/utils_spec.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-07-29 11:20:15 +0100
committerLewis Russell <me@lewisr.dev>2024-08-02 19:04:37 +0100
commit7d24c4d6b0413cd5af8d0579f0a9a694db7f775e (patch)
treed9954c2001fe512c60a76561e7a19566b9de638b /test/functional/treesitter/utils_spec.lua
parentf32557ca679cbb1d7de52ab54dc35585af9ab9d0 (diff)
downloadrneovim-7d24c4d6b0413cd5af8d0579f0a9a694db7f775e.tar.gz
rneovim-7d24c4d6b0413cd5af8d0579f0a9a694db7f775e.tar.bz2
rneovim-7d24c4d6b0413cd5af8d0579f0a9a694db7f775e.zip
test: allow exec_lua to handle functions
Problem: Tests have lots of exec_lua calls which input blocks of code provided as unformatted strings. Solution: Teach exec_lua how to handle functions.
Diffstat (limited to 'test/functional/treesitter/utils_spec.lua')
-rw-r--r--test/functional/treesitter/utils_spec.lua26
1 files changed, 13 insertions, 13 deletions
diff --git a/test/functional/treesitter/utils_spec.lua b/test/functional/treesitter/utils_spec.lua
index bca0aca0cb..e079a7c8e7 100644
--- a/test/functional/treesitter/utils_spec.lua
+++ b/test/functional/treesitter/utils_spec.lua
@@ -17,26 +17,26 @@ describe('treesitter utils', function()
int x = 3;
}]])
- exec_lua([[
- parser = vim.treesitter.get_parser(0, "c")
- tree = parser:parse()[1]
- root = tree:root()
- ancestor = root:child(0)
- child = ancestor:child(0)
- ]])
-
- eq(true, exec_lua('return vim.treesitter.is_ancestor(ancestor, child)'))
- eq(false, exec_lua('return vim.treesitter.is_ancestor(child, ancestor)'))
+ exec_lua(function()
+ local parser = vim.treesitter.get_parser(0, 'c')
+ local tree = parser:parse()[1]
+ local root = tree:root()
+ _G.ancestor = root:child(0)
+ _G.child = _G.ancestor:child(0)
+ end)
+
+ eq(true, exec_lua('return vim.treesitter.is_ancestor(_G.ancestor, _G.child)'))
+ eq(false, exec_lua('return vim.treesitter.is_ancestor(_G.child, _G.ancestor)'))
end)
it('can detect if a position is contained in a node', function()
- exec_lua([[
- node = {
+ exec_lua(function()
+ _G.node = {
range = function()
return 0, 4, 0, 8
end,
}
- ]])
+ end)
eq(false, exec_lua('return vim.treesitter.is_in_node_range(node, 0, 3)'))
for i = 4, 7 do