require('plenary.async').tests.add_to_env() local oil = require('oil') local test_util = require('tests.test_util') a.describe('window options', function() after_each(function() test_util.reset_editor() end) a.it('Restores window options on close', function() vim.cmd.edit({ args = { 'README.md' } }) test_util.oil_open() assert.equals('no', vim.o.signcolumn) oil.close() assert.equals('auto', vim.o.signcolumn) end) a.it('Restores window options on edit', function() test_util.oil_open() assert.equals('no', vim.o.signcolumn) vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) a.it('Restores window options on split ', function() test_util.oil_open() assert.equals('no', vim.o.signcolumn) vim.cmd.split({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) a.it('Restores window options on split', function() test_util.oil_open() assert.equals('no', vim.o.signcolumn) vim.cmd.split() vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) a.it('Restores window options on tabnew ', function() test_util.oil_open() assert.equals('no', vim.o.signcolumn) vim.cmd.tabnew({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) a.it('Restores window options on tabnew', function() test_util.oil_open() assert.equals('no', vim.o.signcolumn) vim.cmd.tabnew() vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) a.it('Sets the window options when re-entering oil buffer', function() oil.open() 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) oil.open() assert.truthy(vim.w.oil_did_enter) vim.cmd.vsplit() assert.truthy(vim.w.oil_did_enter) end) end)