fix: restore testing framework to actually work (#2070)

after refactor to some new asynchronous items for finders,
the tests stopped actually doing anything.

now they do things again.
This commit is contained in:
TJ DeVries
2022-08-04 16:00:30 -04:00
committed by GitHub
parent 75a5e50653
commit 4725867ec6
11 changed files with 304 additions and 82 deletions

View File

@@ -1,6 +1,9 @@
require("plenary.reload").reload_module "telescope"
-- Just skip on mac, it has flaky CI for some reason
if vim.fn.has "mac" == 1 then
return
end
local tester = require "telescope.pickers._test"
local tester = require "telescope.testharness"
local disp = function(val)
return vim.inspect(val, { newline = " ", indent = "" })
@@ -11,10 +14,6 @@ describe("builtin.find_files", function()
tester.run_file "find_files__readme"
end)
it("should be able to move selections", function()
tester.run_file "find_files__with_ctrl_n"
end)
for _, configuration in ipairs {
{ sorting_strategy = "descending" },
{ sorting_strategy = "ascending" },
@@ -24,7 +23,7 @@ describe("builtin.find_files", function()
[[
local max_results = 5
tester.builtin_picker('find_files', 'README.md', {
runner.picker('find_files', 'README.md', {
post_typed = {
{ "> README.md", GetPrompt },
{ "> README.md", GetBestResult },
@@ -41,56 +40,24 @@ describe("builtin.find_files", function()
height = max_results + 1,
width = 0.9,
},
border = false,
}, vim.json.decode([==[%s]==])))
]],
vim.json.encode(configuration)
))
end)
it("should only save one line for ascending, but many for descending", function()
local expected
if configuration.sorting_strategy == "descending" then
expected = 5
else
expected = 1
end
tester.run_string(string.format(
[[
local max_results = 5
tester.builtin_picker('find_files', 'README.md', {
post_typed = {
{ %s, function() return #GetResults() end },
},
}, vim.tbl_extend("force", {
disable_devicons = true,
sorter = require('telescope.sorters').get_fzy_sorter(),
layout_strategy = 'center',
layout_config = {
height = max_results + 1,
width = 0.9,
},
border = false,
}, vim.json.decode([==[%s]==])))
]],
expected,
vim.json.encode(configuration)
))
end)
it("use devicons, if it has it when enabled", function()
pending("use devicons, if it has it when enabled", function()
if not pcall(require, "nvim-web-devicons") then
return
end
local md = require("nvim-web-devicons").get_icon "md"
tester.run_string(string.format(
[[
tester.builtin_picker('find_files', 'README.md', {
runner.picker('find_files', 'README.md', {
post_typed = {
{ "> README.md", GetPrompt },
{ "> README.md", GetBestResult }
{ "> %s README.md", GetBestResult }
},
post_close = {
{ 'README.md', GetFile },
@@ -101,6 +68,7 @@ describe("builtin.find_files", function()
sorter = require('telescope.sorters').get_fzy_sorter(),
}, vim.json.decode([==[%s]==])))
]],
md,
vim.json.encode(configuration)
))
end)
@@ -108,7 +76,7 @@ describe("builtin.find_files", function()
it("should find the readme, using lowercase", function()
tester.run_string [[
tester.builtin_picker('find_files', 'readme.md', {
runner.picker('find_files', 'readme.md', {
post_close = {
{ 'README.md', GetFile },
}
@@ -118,7 +86,7 @@ describe("builtin.find_files", function()
it("should find the pickers.lua, using lowercase", function()
tester.run_string [[
tester.builtin_picker('find_files', 'pickers.lua', {
runner.picker('find_files', 'pickers.lua', {
post_close = {
{ 'pickers.lua', GetFile },
}
@@ -128,7 +96,7 @@ describe("builtin.find_files", function()
it("should find the pickers.lua", function()
tester.run_string [[
tester.builtin_picker('find_files', 'pickers.lua', {
runner.picker('find_files', 'pickers.lua', {
post_close = {
{ 'pickers.lua', GetFile },
{ 'pickers.lua', GetFile },
@@ -139,20 +107,13 @@ describe("builtin.find_files", function()
it("should be able to c-n the items", function()
tester.run_string [[
tester.builtin_picker('find_files', 'fixtures/file<c-p>', {
runner.picker('find_files', 'fixtures/file<c-n>', {
post_typed = {
{
{
" lua/tests/fixtures/file_abc.txt",
"> lua/tests/fixtures/file_a.txt",
}, function()
local res = GetResults()
return {
res[#res - 1],
res[#res],
}
end
" lua/tests/fixtures/file_a.txt",
"> lua/tests/fixtures/file_abc.txt",
}, GetResults
},
},
post_close = {
@@ -160,6 +121,7 @@ describe("builtin.find_files", function()
},
}, {
sorter = require('telescope.sorters').get_fzy_sorter(),
sorting_strategy = "ascending",
disable_devicons = true,
})
]]
@@ -167,7 +129,7 @@ describe("builtin.find_files", function()
it("should be able to get the current selection", function()
tester.run_string [[
tester.builtin_picker('find_files', 'fixtures/file_abc', {
runner.picker('find_files', 'fixtures/file_abc', {
post_typed = {
{ 'lua/tests/fixtures/file_abc.txt', GetSelectionValue },
}