summaryrefslogtreecommitdiff
path: root/lua/tests
diff options
context:
space:
mode:
Diffstat (limited to 'lua/tests')
-rw-r--r--lua/tests/automated/pickers/find_files_spec.lua108
-rw-r--r--lua/tests/fixtures/file_a.txt0
-rw-r--r--lua/tests/fixtures/file_abc.txt0
-rw-r--r--lua/tests/manual/auto_picker.lua1
-rw-r--r--lua/tests/pickers/find_files__readme.lua7
-rw-r--r--lua/tests/pickers/find_files__with_ctrl_n.lua24
6 files changed, 140 insertions, 0 deletions
diff --git a/lua/tests/automated/pickers/find_files_spec.lua b/lua/tests/automated/pickers/find_files_spec.lua
new file mode 100644
index 0000000..6035075
--- /dev/null
+++ b/lua/tests/automated/pickers/find_files_spec.lua
@@ -0,0 +1,108 @@
+require('plenary.reload').reload_module('telescope')
+
+local tester = require('telescope.pickers._tests')
+
+describe('builtin.find_files', function()
+ it('should find the readme', function()
+ tester.run_file('find_files__readme')
+ end)
+
+ it('should not display devicons when disabled', function()
+ tester.run_string [[
+ tester.builtin_picker('find_files', 'README.md', {
+ post_typed = {
+ { "> README.md", GetPrompt },
+ { "> README.md", GetLastResult },
+ },
+ post_close = {
+ { 'README.md', GetFile },
+ { 'README.md', GetFile },
+ }
+ }, {
+ disable_devicons = true,
+ sorter = require('telescope.sorters').get_fzy_sorter(),
+ })
+ ]]
+ end)
+
+ it('use devicons, if it has it when enabled', function()
+ if not pcall(require, 'nvim-web-devicons') then
+ return
+ end
+
+ tester.run_string [[
+ tester.builtin_picker('find_files', 'README.md', {
+ post_typed = {
+ { "> README.md", GetPrompt },
+ { ">  README.md", GetLastResult }
+ },
+ post_close = {
+ { 'README.md', GetFile },
+ { 'README.md', GetFile },
+ }
+ }, {
+ disable_devicons = false,
+ sorter = require('telescope.sorters').get_fzy_sorter(),
+ })
+ ]]
+ 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', {
+ post_close = {
+ { 'pickers.lua', GetFile },
+ }
+ })
+ ]]
+ end)
+
+ it('should find the pickers.lua', function()
+ tester.run_string [[
+ tester.builtin_picker('find_files', 'pickers.lua', {
+ post_close = {
+ { 'pickers.lua', GetFile },
+ { 'pickers.lua', GetFile },
+ }
+ })
+ ]]
+ end)
+
+ it('should be able to c-n the items', function()
+ tester.run_string [[
+ tester.builtin_picker('find_files', 'fixtures/file<c-p>', {
+ 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
+ },
+ },
+ post_close = {
+ { 'file_abc.txt', GetFile },
+ },
+ }, {
+ sorter = require('telescope.sorters').get_fzy_sorter(),
+ disable_devicons = true,
+ })
+ ]]
+ end)
+end)
diff --git a/lua/tests/fixtures/file_a.txt b/lua/tests/fixtures/file_a.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/tests/fixtures/file_a.txt
diff --git a/lua/tests/fixtures/file_abc.txt b/lua/tests/fixtures/file_abc.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/tests/fixtures/file_abc.txt
diff --git a/lua/tests/manual/auto_picker.lua b/lua/tests/manual/auto_picker.lua
index e0433f9..e33edee 100644
--- a/lua/tests/manual/auto_picker.lua
+++ b/lua/tests/manual/auto_picker.lua
@@ -71,6 +71,7 @@ local find_files = function(opts)
feed("<CR>", '')
coroutine.yield()
+ print("STILL CALLED?")
end))
p:find()
diff --git a/lua/tests/pickers/find_files__readme.lua b/lua/tests/pickers/find_files__readme.lua
new file mode 100644
index 0000000..6753d5d
--- /dev/null
+++ b/lua/tests/pickers/find_files__readme.lua
@@ -0,0 +1,7 @@
+local tester = require('telescope.pickers._tests')
+
+tester.builtin_picker('find_files', 'README.md', {
+ post_close = {
+ {'README.md', function() return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.") end },
+ }
+})
diff --git a/lua/tests/pickers/find_files__with_ctrl_n.lua b/lua/tests/pickers/find_files__with_ctrl_n.lua
new file mode 100644
index 0000000..e6eecdd
--- /dev/null
+++ b/lua/tests/pickers/find_files__with_ctrl_n.lua
@@ -0,0 +1,24 @@
+pcall(function() RELOAD('telescope') end)
+
+local builtin = require('telescope.builtin')
+local tester = require('telescope.pickers._tests')
+
+local key = 'find_files'
+local input = 'fixtures/file<c-p>'
+local expected = 'lua/tests/fixtures/file_2.txt'
+local get_actual = function()
+ return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.")
+end
+
+-- local on_complete_item = tester.picker_feed(input, expected, get_actual, true)
+--
+-- builtin[key] {
+-- on_complete = { on_complete_item }
+-- }
+
+tester.builtin_picker('find_files', 'fixtures/file<c-p>', 'lua/tests/fixtures/file_2.txt', function()
+ return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.")
+end, {
+ debug = false,
+})
+