fix: fix flaky test
This commit is contained in:
parent
7aeb239a6a
commit
9509ae0fee
5 changed files with 38 additions and 33 deletions
|
|
@ -11,7 +11,7 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
|
@ -19,7 +19,7 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate when editing url file", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
local readme = fs.join(vim.fn.getcwd(), "README.md")
|
||||
vim.cmd.edit({ args = { "oil://" .. fs.os_to_posix_path(readme) } })
|
||||
-- We're gonna jump around to 2 different buffers
|
||||
|
|
@ -32,7 +32,7 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate when editing oil://", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
vim.cmd.edit({ args = { "oil://" .. fs.os_to_posix_path(vim.fn.getcwd()) } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
|
@ -41,7 +41,7 @@ a.describe("Alternate buffer", function()
|
|||
vim.cmd.edit({ args = { "foo" } })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
|
@ -50,7 +50,7 @@ a.describe("Alternate buffer", function()
|
|||
vim.cmd.edit({ args = { "foo" } })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.close()
|
||||
assert.equals("bar", vim.fn.expand("%"))
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
|
|
@ -59,13 +59,13 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate after multi-dir hops", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
|
@ -73,7 +73,7 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate when inside oil buffer", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
|
|
@ -84,28 +84,28 @@ a.describe("Alternate buffer", function()
|
|||
a.it("preserves alternate when traversing oil dirs", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
vim.wait(1000, function()
|
||||
return oil.get_cursor_entry()
|
||||
end, 10)
|
||||
vim.api.nvim_win_set_cursor(0, { 1, 1 })
|
||||
oil.select()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
||||
a.it("preserves alternate when opening preview", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
vim.wait(1000, function()
|
||||
return oil.get_cursor_entry()
|
||||
end, 10)
|
||||
vim.api.nvim_win_set_cursor(0, { 1, 1 })
|
||||
oil.select({ preview = true })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ a.describe("Alternate buffer", function()
|
|||
a.it("sets previous buffer as alternate", function()
|
||||
vim.cmd.edit({ args = { "foo" } })
|
||||
oil.open_float()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
-- This is lazy, but testing the actual select logic is more difficult. We can simply
|
||||
-- replicate it by closing the current window and then doing the edit
|
||||
vim.api.nvim_win_close(0, true)
|
||||
|
|
@ -125,7 +125,7 @@ a.describe("Alternate buffer", function()
|
|||
vim.cmd.edit({ args = { "foo" } })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
oil.open_float()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
-- This is lazy, but testing the actual select logic is more difficult. We can simply
|
||||
-- replicate it by closing the current window and then doing the edit
|
||||
vim.api.nvim_win_close(0, true)
|
||||
|
|
@ -137,7 +137,7 @@ a.describe("Alternate buffer", function()
|
|||
vim.cmd.edit({ args = { "foo" } })
|
||||
vim.cmd.edit({ args = { "bar" } })
|
||||
oil.open_float()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.close()
|
||||
assert.equals("foo", vim.fn.expand("#"))
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -152,10 +152,10 @@ a.describe("files adapter", function()
|
|||
a.it("Editing a new oil://path/ creates an oil buffer", function()
|
||||
local tmpdir_url = "oil://" .. vim.fn.fnamemodify(tmpdir.path, ":p") .. "/"
|
||||
vim.cmd.edit({ args = { tmpdir_url } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
local new_url = "oil://" .. vim.fn.fnamemodify(tmpdir.path, ":p") .. "newdir"
|
||||
vim.cmd.edit({ args = { new_url } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("oil", vim.bo.filetype)
|
||||
-- The normalization will add a '/'
|
||||
assert.equals(new_url .. "/", vim.api.nvim_buf_get_name(0))
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ local constants = require("oil.constants")
|
|||
local mutator = require("oil.mutator")
|
||||
local parser = require("oil.mutator.parser")
|
||||
local test_adapter = require("oil.adapters.test")
|
||||
local test_util = require("tests.test_util")
|
||||
local util = require("oil.util")
|
||||
local view = require("oil.view")
|
||||
|
||||
|
|
@ -24,6 +25,7 @@ a.describe("mutator", function()
|
|||
end
|
||||
test_adapter.test_clear()
|
||||
cache.clear_everything()
|
||||
test_util.reset_editor()
|
||||
end)
|
||||
|
||||
describe("parser", function()
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ require("plenary.async").tests.add_to_env()
|
|||
local oil = require("oil")
|
||||
local test_util = require("tests.test_util")
|
||||
local TmpDir = require("tests.tmpdir")
|
||||
local view = require("oil.view")
|
||||
|
||||
a.describe("regression tests", function()
|
||||
local tmpdir
|
||||
|
|
@ -26,19 +27,21 @@ a.describe("regression tests", function()
|
|||
vim.cmd.wincmd({ args = { "p" } })
|
||||
assert.equals("markdown", vim.bo.filetype)
|
||||
vim.cmd.edit({ args = { "%:p:h" } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("oil", vim.bo.filetype)
|
||||
end)
|
||||
|
||||
-- https://github.com/stevearc/oil.nvim/issues/37
|
||||
a.it("places the cursor on correct entry when opening on file", function()
|
||||
vim.cmd.edit({ args = { "." } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
local entry = oil.get_cursor_entry()
|
||||
assert.not_nil(entry)
|
||||
assert.not_equals("README.md", entry and entry.name)
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
view.delete_hidden_buffers()
|
||||
oil.open()
|
||||
a.util.sleep(10)
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
entry = oil.get_cursor_entry()
|
||||
assert.equals("README.md", entry and entry.name)
|
||||
end)
|
||||
|
|
@ -77,7 +80,7 @@ a.describe("regression tests", function()
|
|||
-- https://github.com/stevearc/oil.nvim/issues/79
|
||||
a.it("Returns to empty buffer on close", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
oil.close()
|
||||
assert.not_equals("oil", vim.bo.filetype)
|
||||
assert.equals("", vim.api.nvim_buf_get_name(0))
|
||||
|
|
@ -88,7 +91,7 @@ a.describe("regression tests", function()
|
|||
a.util.scheduler()
|
||||
vim.cmd.edit({ args = { "oil://" .. vim.fn.fnamemodify(tmpdir.path, ":p") } })
|
||||
local first_dir = vim.api.nvim_get_current_buf()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
test_util.feedkeys({ "dd", "itest/<esc>", "<CR>" }, 10)
|
||||
vim.wait(1000, function()
|
||||
return vim.bo.modifiable
|
||||
|
|
@ -108,10 +111,10 @@ a.describe("regression tests", function()
|
|||
|
||||
a.it("refreshing buffer doesn't lose track of it", function()
|
||||
vim.cmd.edit({ args = { "." } })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
vim.cmd.edit({ bang = true })
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.are.same({ bufnr }, require("oil.view").get_all_buffers())
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ a.describe("window options", function()
|
|||
a.it("Restores window options on close", function()
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
oil.close()
|
||||
assert.equals("auto", vim.o.signcolumn)
|
||||
|
|
@ -18,7 +18,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Restores window options on edit", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
assert.equals("auto", vim.o.signcolumn)
|
||||
|
|
@ -26,7 +26,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Restores window options on split <filename>", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
vim.cmd.split({ args = { "README.md" } })
|
||||
assert.equals("auto", vim.o.signcolumn)
|
||||
|
|
@ -34,7 +34,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Restores window options on split", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
vim.cmd.split()
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
|
|
@ -43,7 +43,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Restores window options on tabnew <filename>", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
vim.cmd.tabnew({ args = { "README.md" } })
|
||||
assert.equals("auto", vim.o.signcolumn)
|
||||
|
|
@ -51,7 +51,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Restores window options on tabnew", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.equals("no", vim.o.signcolumn)
|
||||
vim.cmd.tabnew()
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
|
|
@ -60,7 +60,7 @@ a.describe("window options", function()
|
|||
|
||||
a.it("Sets the window options when re-entering oil buffer", function()
|
||||
oil.open()
|
||||
test_util.wait_for_autocmd("BufReadPost")
|
||||
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
|
||||
assert.truthy(vim.w.oil_did_enter)
|
||||
vim.cmd.edit({ args = { "README.md" } })
|
||||
assert.falsy(vim.w.oil_did_enter)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue