aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt8
-rw-r--r--test/functional/treesitter/language_spec.lua7
-rw-r--r--test/functional/treesitter/parser_spec.lua14
3 files changed, 19 insertions, 10 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index dc74838760..b84e4f7953 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -18,7 +18,6 @@ if(BUSTED_PRG)
add_custom_target(unittest
COMMAND ${CMAKE_COMMAND}
-D BUSTED_PRG=${BUSTED_PRG}
- -D LUA_PRG=${LUA_PRG}
-D NVIM_PRG=$<TARGET_FILE:nvim>
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
@@ -30,7 +29,6 @@ if(BUSTED_PRG)
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${UNITTEST_PREREQS}
USES_TERMINAL)
- set_target_properties(unittest PROPERTIES FOLDER test)
else()
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
endif()
@@ -42,7 +40,6 @@ if(BUSTED_PRG)
add_custom_target(functionaltest
COMMAND ${CMAKE_COMMAND}
-D BUSTED_PRG=${BUSTED_PRG}
- -D LUA_PRG=${LUA_PRG}
-D NVIM_PRG=$<TARGET_FILE:nvim>
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
@@ -55,12 +52,10 @@ if(BUSTED_PRG)
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${FUNCTIONALTEST_PREREQS}
USES_TERMINAL)
- set_target_properties(functionaltest PROPERTIES FOLDER test)
add_custom_target(benchmark
COMMAND ${CMAKE_COMMAND}
-D BUSTED_PRG=${BUSTED_PRG}
- -D LUA_PRG=${LUA_PRG}
-D NVIM_PRG=$<TARGET_FILE:nvim>
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
@@ -72,7 +67,6 @@ if(BUSTED_PRG)
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${BENCHMARK_PREREQS}
USES_TERMINAL)
- set_target_properties(benchmark PROPERTIES FOLDER test)
endif()
find_program(BUSTED_LUA_PRG busted-lua)
@@ -80,7 +74,6 @@ if(BUSTED_LUA_PRG)
add_custom_target(functionaltest-lua
COMMAND ${CMAKE_COMMAND}
-D BUSTED_PRG=${BUSTED_LUA_PRG}
- -D LUA_PRG=${LUA_PRG}
-D NVIM_PRG=$<TARGET_FILE:nvim>
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
@@ -92,5 +85,4 @@ if(BUSTED_LUA_PRG)
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${FUNCTIONALTEST_PREREQS}
USES_TERMINAL)
- set_target_properties(functionaltest-lua PROPERTIES FOLDER test)
endif()
diff --git a/test/functional/treesitter/language_spec.lua b/test/functional/treesitter/language_spec.lua
index 2cf18242ff..747aea54b7 100644
--- a/test/functional/treesitter/language_spec.lua
+++ b/test/functional/treesitter/language_spec.lua
@@ -33,7 +33,12 @@ describe('treesitter language API', function()
it('shows error for invalid language name', function()
eq(".../language.lua:0: '/foo/' is not a valid language name",
- pcall_err(exec_lua, 'vim.treesitter.add("/foo/", nil, false)'))
+ pcall_err(exec_lua, 'vim.treesitter.add("/foo/")'))
+ end)
+
+ it('shows error for invalid filetype', function()
+ eq('.../language.lua:0: \'\' is not a valid filetype',
+ pcall_err(exec_lua, [[vim.treesitter.add('foo', { filetype = '' })]]))
end)
it('inspects language', function()
diff --git a/test/functional/treesitter/parser_spec.lua b/test/functional/treesitter/parser_spec.lua
index fd9822d1c0..27f2e81ab2 100644
--- a/test/functional/treesitter/parser_spec.lua
+++ b/test/functional/treesitter/parser_spec.lua
@@ -4,6 +4,7 @@ local clear = helpers.clear
local eq = helpers.eq
local insert = helpers.insert
local exec_lua = helpers.exec_lua
+local pcall_err = helpers.pcall_err
local feed = helpers.feed
local is_os = helpers.is_os
local skip = helpers.skip
@@ -124,6 +125,16 @@ void ui_refresh(void)
}, res)
end)
+ it('does not get parser for empty filetype', function()
+ insert(test_text);
+
+ eq(".../language.lua:0: '' is not a valid filetype",
+ pcall_err(exec_lua, 'vim.treesitter.get_parser(0)'))
+
+ -- Must provide language for buffers with an empty filetype
+ exec_lua("vim.treesitter.get_parser(0, 'c')")
+ end)
+
it('allows to get a child by field', function()
insert(test_text);
@@ -874,9 +885,10 @@ int x = INT_MAX;
it("can fold via foldexpr", function()
insert(test_text)
- exec_lua([[vim.treesitter.get_parser(0, "c")]])
local levels = exec_lua([[
+ vim.opt.filetype = 'c'
+ vim.treesitter.get_parser(0, "c")
local res = {}
for i = 1, vim.api.nvim_buf_line_count(0) do
res[i] = vim.treesitter.foldexpr(i)