From b349751d313b8077e19bebd694170312e205ead8 Mon Sep 17 00:00:00 2001 From: TJ DeVries Date: Sat, 18 Sep 2021 15:48:53 -0400 Subject: [PATCH] fix: turns out tests weren't really asserting anything --- lua/telescope/pickers.lua | 5 +++- lua/telescope/pickers/_test.lua | 14 +++------- .../automated/pickers/find_files_spec.lua | 28 +++++++++---------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 624ab00..06572b9 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -988,7 +988,10 @@ end function Picker:_on_complete() for _, v in ipairs(self._completion_callbacks) do - pcall(v, self) + local ok, msg = pcall(v, self) + if not ok then + log.warn("completion callback failed with:", msg) + end end end diff --git a/lua/telescope/pickers/_test.lua b/lua/telescope/pickers/_test.lua index 2124635..89c243b 100644 --- a/lua/telescope/pickers/_test.lua +++ b/lua/telescope/pickers/_test.lua @@ -55,9 +55,9 @@ local execute_test_case = function(location, key, spec) end end -local end_test_cases = function() +local end_test_cases = vim.schedule_wrap(function() vim.cmd [[qa!]] -end +end) local invalid_test_case = function(k) writer { case = k, expected = "", actual = k } @@ -86,10 +86,6 @@ tester.picker_feed = function(input, test_cases) vim.wait(10) - if tester.debug then - coroutine.yield() - end - vim.defer_fn(function() if test_cases.post_typed then for k, v in ipairs(test_cases.post_typed) do @@ -173,7 +169,7 @@ local asserters = { local check_results = function(results) -- TODO: We should get all the test cases here that fail, not just the first one. for _, v in ipairs(results) do - local assertion = asserters[v._type or "default"] + local assertion = asserters[v._type or "_default"] assertion(v.expected, v.actual, string.format("Test Case: %s // %s", v.location, v.case)) end @@ -217,8 +213,6 @@ tester._execute = function(filename) -- Important so that the outputs don't get mixed log.use_console = false - vim.cmd(string.format("luafile %s", filename)) - local f = loadfile(filename) if not f then writer { @@ -238,7 +232,7 @@ tester._execute = function(filename) } end - end_test_cases() + -- end_test_cases() end return tester diff --git a/lua/tests/automated/pickers/find_files_spec.lua b/lua/tests/automated/pickers/find_files_spec.lua index ba1c21b..28870cc 100644 --- a/lua/tests/automated/pickers/find_files_spec.lua +++ b/lua/tests/automated/pickers/find_files_spec.lua @@ -7,6 +7,16 @@ local disp = function(val) end describe("builtin.find_files", function() + it("should find the readme, using lowercase", function() + tester.run_string [[ + tester.builtin_picker('find_files', 'readme.md', { + post_close = { + { 'README.md', GetFile }, + } + }) + ]] + end) + it("should find the readme", function() tester.run_file "find_files__readme" end) @@ -50,7 +60,7 @@ describe("builtin.find_files", function() it("should only save one line for ascending, but many for descending", function() local expected if configuration.sorting_strategy == "descending" then - expected = 5 + expected = 19 else expected = 1 end @@ -102,16 +112,6 @@ describe("builtin.find_files", function() end) end - it("should find the readme, using lowercase", function() - tester.run_string [[ - tester.builtin_picker('find_files', 'readme.md', { - post_close = { - { 'README.md', GetFile }, - } - }) - ]] - end) - it("should find the pickers.lua, using lowercase", function() tester.run_string [[ tester.builtin_picker('find_files', 'pickers.lua', { @@ -139,10 +139,10 @@ describe("builtin.find_files", function() post_typed = { { { - " lua/tests/fixtures/file_abc.txt", - "> lua/tests/fixtures/file_a.txt", + "> lua/tests/fixtures/file_abc.txt", + " lua/tests/fixtures/file_a.txt", }, function() - local res = GetResults() + local res = GetResults() return { res[#res - 1],