diff options
Diffstat (limited to 'tests/unit/parsers_spec.lua')
| -rw-r--r-- | tests/unit/parsers_spec.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/unit/parsers_spec.lua b/tests/unit/parsers_spec.lua new file mode 100644 index 000000000..d40578b87 --- /dev/null +++ b/tests/unit/parsers_spec.lua @@ -0,0 +1,46 @@ +local stub = require "luassert.stub" +local parsers = require "nvim-treesitter.parsers" + +describe("maintained_parsers", function() + before_each(function() + stub(vim.fn, "executable") + end) + + after_each(function() + vim.fn.executable:clear() + end) + + it("does not return experimental parsers", function() + local old_list = parsers.list + parsers.list = { + c = { + install_info = { + url = "https://github.com/tree-sitter/tree-sitter-c", + files = { "src/parser.c" }, + }, + maintainers = { "@vigoux" }, + }, + d = { + install_info = { + url = "https://github.com/CyberShadow/tree-sitter-d", + files = { "src/parser.c", "src/scanner.cc" }, + requires_generate_from_grammar = true, + }, + maintainers = { "@nawordar" }, + experimental = true, + }, + haskell = { + install_info = { + url = "https://github.com/tree-sitter/tree-sitter-haskell", + files = { "src/parser.c", "src/scanner.cc" }, + }, + }, + } + + local expected = { "c" } + + assert.same(parsers.maintained_parsers(), expected) + + parsers.list = old_list + end) +end) |
