test: remove all the old tests
Summary: Removes all the old tests that are not using busted. They have now been replaced with the busted ones. Test Plan: CI
This commit is contained in:
parent
cb4f5860ef
commit
4803045d4e
9 changed files with 1 additions and 371 deletions
5
.github/workflows/ci.yml
vendored
5
.github/workflows/ci.yml
vendored
|
|
@ -61,7 +61,7 @@ jobs:
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: sudo apt update && sudo apt install -y luajit build-essential luarocks
|
run: sudo apt update && sudo apt install -y build-essential luarocks
|
||||||
|
|
||||||
- name: Install busted
|
- name: Install busted
|
||||||
run: sudo luarocks install busted
|
run: sudo luarocks install busted
|
||||||
|
|
@ -76,9 +76,6 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cargo build --release
|
run: cargo build --release
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: find lua -name "*_test.lua" | xargs luajit scripts/test.lua
|
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
export PATH="${PWD}/_neovim/bin:${PATH}"
|
export PATH="${PWD}/_neovim/bin:${PATH}"
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
local vim_mock = require "ivy.vim_mock"
|
|
||||||
local window = require "ivy.window"
|
|
||||||
local controller = require "ivy.controller"
|
|
||||||
|
|
||||||
-- The number of the mock buffer where all the test completions gets put
|
|
||||||
local buffer_number = 10
|
|
||||||
|
|
||||||
before_each(function()
|
|
||||||
vim_mock.reset()
|
|
||||||
window.initialize()
|
|
||||||
end)
|
|
||||||
|
|
||||||
after_each(function()
|
|
||||||
controller.destroy()
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will run", function(t)
|
|
||||||
controller.run("Testing", function()
|
|
||||||
return { { content = "Some content" } }
|
|
||||||
end, function()
|
|
||||||
return {}
|
|
||||||
end)
|
|
||||||
|
|
||||||
local lines = vim_mock.get_lines()
|
|
||||||
local completion_lines = lines[buffer_number]
|
|
||||||
|
|
||||||
t.assert_equal(#completion_lines, 1)
|
|
||||||
t.assert_equal(completion_lines[1], "Some content")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will not try and highlight the buffer if there is nothing to highlight", function(t)
|
|
||||||
controller.items = function()
|
|
||||||
return { { content = "Hello" } }
|
|
||||||
end
|
|
||||||
|
|
||||||
controller.update ""
|
|
||||||
local commands = vim_mock.get_commands()
|
|
||||||
t.assert_equal(#commands, 1)
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will escape a - when passing it to be highlighted", function(t)
|
|
||||||
controller.items = function()
|
|
||||||
return { { content = "Hello" } }
|
|
||||||
end
|
|
||||||
|
|
||||||
controller.update "some-file"
|
|
||||||
local commands = vim_mock.get_commands()
|
|
||||||
local syntax_command = commands[2]
|
|
||||||
|
|
||||||
t.assert_equal("syntax match IvyMatch '[some\\-file]'", syntax_command)
|
|
||||||
end)
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
local libivy = require "ivy.libivy"
|
|
||||||
|
|
||||||
it("should run a simple match", function(t)
|
|
||||||
local score = libivy.ivy_match("term", "I am a serch term")
|
|
||||||
|
|
||||||
if score <= 0 then
|
|
||||||
t.error("Score should not be less than 0 found " .. score)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("should find a dot file", function(t)
|
|
||||||
local current_dir = libivy.ivy_cwd()
|
|
||||||
local results = libivy.ivy_files(".github/workflows/ci.yml", current_dir)
|
|
||||||
|
|
||||||
if results.length ~= 2 then
|
|
||||||
t.error("Incorrect number of results found " .. results.length)
|
|
||||||
end
|
|
||||||
|
|
||||||
if results[2].content ~= ".github/workflows/ci.yml" then
|
|
||||||
t.error("Invalid matches: " .. results[2].content)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will allow you to access the length via the metatable", function(t)
|
|
||||||
local current_dir = libivy.ivy_cwd()
|
|
||||||
local results = libivy.ivy_files(".github/workflows/ci.yml", current_dir)
|
|
||||||
|
|
||||||
local mt = getmetatable(results)
|
|
||||||
|
|
||||||
if results.length ~= mt.__len(results) then
|
|
||||||
t.error "The `length` property does not match the __len metamethod"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will create an iterator", function(t)
|
|
||||||
local iter = libivy.ivy_files(".github/workflows/ci.yml", libivy.ivy_cwd())
|
|
||||||
local mt = getmetatable(iter)
|
|
||||||
|
|
||||||
if type(mt["__index"]) ~= "function" then
|
|
||||||
t.error "The iterator does not have an __index metamethod"
|
|
||||||
end
|
|
||||||
|
|
||||||
if type(mt["__len"]) ~= "function" then
|
|
||||||
t.error "The iterator does not have an __len metamethod"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
local libivy = require "ivy.libivy"
|
|
||||||
|
|
||||||
-- Helper function to test a that string `one` has a higher match score than
|
|
||||||
-- string `two`. If string `one` has a lower score than string `two` a string
|
|
||||||
-- will be returned that can be used in body of an error. If not then `nil` is
|
|
||||||
-- returned and all is good.
|
|
||||||
local match_test = function(term, one, two)
|
|
||||||
local score_one = libivy.ivy_match(term, one)
|
|
||||||
local score_two = libivy.ivy_match(term, two)
|
|
||||||
|
|
||||||
if score_one < score_two then
|
|
||||||
return one .. " should be ranked higher than " .. two
|
|
||||||
end
|
|
||||||
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
||||||
it("sould match path separator", function(t)
|
|
||||||
local result = match_test("file", "some/file.lua", "somefile.lua")
|
|
||||||
if result then
|
|
||||||
t.error(result)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("sould match pattern with spaces", function(t)
|
|
||||||
local result = match_test("so fi", "some/file.lua", "somefile.lua")
|
|
||||||
if result then
|
|
||||||
t.error(result)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("sould match the start of a string", function(t)
|
|
||||||
local result = match_test("file", "file.lua", "somefile.lua")
|
|
||||||
if result then
|
|
||||||
t.error(result)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
local prompt = require "ivy.prompt"
|
|
||||||
local vim_mock = require "ivy.vim_mock"
|
|
||||||
|
|
||||||
before_each(function()
|
|
||||||
vim_mock.reset()
|
|
||||||
prompt.destroy()
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Input a list of strings into the prompt
|
|
||||||
local input = function(input_table)
|
|
||||||
for index = 1, #input_table do
|
|
||||||
prompt.input(input_table[index])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Asserts the prompt contains the correct value
|
|
||||||
local assert_prompt = function(t, expected)
|
|
||||||
local text = prompt.text()
|
|
||||||
if text ~= expected then
|
|
||||||
t.error("The prompt text should be '" .. expected .. "' found '" .. text .. "'")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
it("starts with empty text", function(t)
|
|
||||||
if prompt.text() ~= "" then
|
|
||||||
t.error "The prompt should start with empty text"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can input some text", function(t)
|
|
||||||
input { "A", "d", "e" }
|
|
||||||
assert_prompt(t, "Ade")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can delete a char", function(t)
|
|
||||||
input { "A", "d", "e", "BACKSPACE" }
|
|
||||||
assert_prompt(t, "Ad")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will reset the text", function(t)
|
|
||||||
input { "A", "d", "e" }
|
|
||||||
prompt.set "New"
|
|
||||||
assert_prompt(t, "New")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can move around the a word", function(t)
|
|
||||||
input { "P", "r", "o", "p", "t", "LEFT", "LEFT", "LEFT", "RIGHT", "m" }
|
|
||||||
assert_prompt(t, "Prompt")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can delete a word", function(t)
|
|
||||||
prompt.set "Ade Attwood"
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "Ade ")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can delete a word in the middle", function(t)
|
|
||||||
prompt.set "Ade middle A"
|
|
||||||
input { "LEFT", "LEFT", "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "Ade A")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will delete the space and the word if the last word is single space", function(t)
|
|
||||||
prompt.set "some.thing "
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "some.")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will only delete one word from path", function(t)
|
|
||||||
prompt.set "some/nested/path"
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "some/nested/")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will delete tailing space", function(t)
|
|
||||||
prompt.set "word "
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will leave a random space", function(t)
|
|
||||||
prompt.set "some word "
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, "some ")
|
|
||||||
end)
|
|
||||||
|
|
||||||
local special_characters = { ".", "/", "^" }
|
|
||||||
for _, char in ipairs(special_characters) do
|
|
||||||
it(string.format("will stop at a %s", char), function(t)
|
|
||||||
prompt.set(string.format("key%sValue", char))
|
|
||||||
input { "DELETE_WORD" }
|
|
||||||
assert_prompt(t, string.format("key%s", char))
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
local utils = require "ivy.utils"
|
|
||||||
|
|
||||||
it("will escape a dollar in the file name", function(t)
|
|
||||||
local result = utils.escape_file_name "/path/to/$file/$name.lua"
|
|
||||||
t.assert_equal(result, "/path/to/\\$file/\\$name.lua")
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will escape a brackets in the file name", function(t)
|
|
||||||
local result = utils.escape_file_name "/path/to/[file]/[name].lua"
|
|
||||||
t.assert_equal(result, "/path/to/\\[file\\]/\\[name\\].lua")
|
|
||||||
end)
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
local utils = require "ivy.utils"
|
|
||||||
local line_action = utils.line_action()
|
|
||||||
local vim_mock = require "ivy.vim_mock"
|
|
||||||
|
|
||||||
before_each(function()
|
|
||||||
vim_mock.reset()
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will run the line command", function(t)
|
|
||||||
line_action " 4: Some text"
|
|
||||||
|
|
||||||
if #vim_mock.commands ~= 1 then
|
|
||||||
t.error "`line_action` command length should be 1"
|
|
||||||
end
|
|
||||||
|
|
||||||
if vim_mock.commands[1] ~= "4" then
|
|
||||||
t.error "`line_action` command should be 4"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will run with more numbers", function(t)
|
|
||||||
line_action " 44: Some text"
|
|
||||||
|
|
||||||
if #vim_mock.commands ~= 1 then
|
|
||||||
t.error "`line_action` command length should be 1"
|
|
||||||
end
|
|
||||||
|
|
||||||
if vim_mock.commands[1] ~= "44" then
|
|
||||||
t.error "`line_action` command should be 44"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("dose not run any action if no line is found", function(t)
|
|
||||||
line_action "Some text"
|
|
||||||
|
|
||||||
if #vim_mock.commands ~= 0 then
|
|
||||||
t.error "`line_action` command length should be 1"
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
local utils = require "ivy.utils"
|
|
||||||
local vimgrep_action = utils.vimgrep_action()
|
|
||||||
local vim_mock = require "ivy.vim_mock"
|
|
||||||
|
|
||||||
before_each(function()
|
|
||||||
vim_mock.reset()
|
|
||||||
end)
|
|
||||||
|
|
||||||
local test_data = {
|
|
||||||
{
|
|
||||||
it = "will edit some file and goto the line",
|
|
||||||
completion = "some/file.lua:2: This is some text",
|
|
||||||
action = utils.actions.EDIT,
|
|
||||||
commands = {
|
|
||||||
"edit some/file.lua",
|
|
||||||
"2",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
it = "will skip the line if its not matched",
|
|
||||||
completion = "some/file.lua: This is some text",
|
|
||||||
action = utils.actions.EDIT,
|
|
||||||
commands = { "edit some/file.lua" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
it = "will run the vsplit command",
|
|
||||||
completion = "some/file.lua: This is some text",
|
|
||||||
action = utils.actions.VSPLIT,
|
|
||||||
commands = { "vsplit some/file.lua" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
it = "will run the split command",
|
|
||||||
completion = "some/file.lua: This is some text",
|
|
||||||
action = utils.actions.SPLIT,
|
|
||||||
commands = { "split some/file.lua" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for i = 1, #test_data do
|
|
||||||
local data = test_data[i]
|
|
||||||
it(data.it, function(t)
|
|
||||||
vimgrep_action(data.completion, data.action)
|
|
||||||
|
|
||||||
if #vim_mock.commands ~= #data.commands then
|
|
||||||
t.error("Incorrect number of commands run expected " .. #data.commands .. " but found " .. #vim_mock.commands)
|
|
||||||
end
|
|
||||||
|
|
||||||
for j = 1, #data.commands do
|
|
||||||
if vim_mock.commands[j] ~= data.commands[j] then
|
|
||||||
t.error(
|
|
||||||
"Incorrect command run expected '" .. data.commands[j] .. "' but found '" .. vim_mock.commands[j] .. "'"
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
local vim_mock = require "ivy.vim_mock"
|
|
||||||
local window = require "ivy.window"
|
|
||||||
|
|
||||||
before_each(function()
|
|
||||||
vim_mock.reset()
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can initialize and destroy the window", function(t)
|
|
||||||
window.initialize()
|
|
||||||
|
|
||||||
t.assert_equal(10, window.get_buffer())
|
|
||||||
t.assert_equal(10, window.buffer)
|
|
||||||
|
|
||||||
window.destroy()
|
|
||||||
t.assert_equal(nil, window.buffer)
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("can set items", function(t)
|
|
||||||
window.initialize()
|
|
||||||
|
|
||||||
window.set_items { { content = "Line one" } }
|
|
||||||
t.assert_equal("Line one", window.get_current_selection())
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("will set the items when a string is passed in", function(t)
|
|
||||||
window.initialize()
|
|
||||||
|
|
||||||
local items = table.concat({ "One", "Two", "Three" }, "\n")
|
|
||||||
window.set_items(items)
|
|
||||||
|
|
||||||
local lines = table.concat(vim_mock.get_lines()[window.buffer], "\n")
|
|
||||||
t.assert_equal(items, lines)
|
|
||||||
end)
|
|
||||||
Loading…
Reference in a new issue