fix: fix flaky test

This commit is contained in:
Steven Arcangeli 2023-08-20 23:33:34 +00:00
parent 7aeb239a6a
commit 9509ae0fee
5 changed files with 38 additions and 33 deletions

View file

@ -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)