diff --git a/tests/altbuf_spec.lua b/tests/altbuf_spec.lua index df481f1..d0a4453 100644 --- a/tests/altbuf_spec.lua +++ b/tests/altbuf_spec.lua @@ -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) diff --git a/tests/files_spec.lua b/tests/files_spec.lua index 72533e4..96b143a 100644 --- a/tests/files_spec.lua +++ b/tests/files_spec.lua @@ -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)) diff --git a/tests/mutator_spec.lua b/tests/mutator_spec.lua index 38334d3..c014e62 100644 --- a/tests/mutator_spec.lua +++ b/tests/mutator_spec.lua @@ -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() diff --git a/tests/regression_spec.lua b/tests/regression_spec.lua index 380a3ee..1c0373e 100644 --- a/tests/regression_spec.lua +++ b/tests/regression_spec.lua @@ -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/", "" }, 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) diff --git a/tests/win_options_spec.lua b/tests/win_options_spec.lua index 49ab811..6dbde27 100644 --- a/tests/win_options_spec.lua +++ b/tests/win_options_spec.lua @@ -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 ", 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 ", 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)