diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 8 | ||||
-rw-r--r-- | test/functional/treesitter/language_spec.lua | 7 | ||||
-rw-r--r-- | test/functional/treesitter/parser_spec.lua | 14 |
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) |