local canola = require('canola') local test_util = require('spec.test_util') describe('window options', function() after_each(function() test_util.reset_editor() end) it('Restores window options on close', function() vim.cmd.edit({ args = { 'README.md' } }) test_util.canola_open() assert.equals('no', vim.o.signcolumn) canola.close() assert.equals('auto', vim.o.signcolumn) end) it('Restores window options on edit', function() test_util.canola_open() assert.equals('no', vim.o.signcolumn) vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) it('Restores window options on split ', function() test_util.canola_open() assert.equals('no', vim.o.signcolumn) vim.cmd.split({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) it('Restores window options on split', function() test_util.canola_open() assert.equals('no', vim.o.signcolumn) vim.cmd.split() vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) it('Restores window options on tabnew ', function() test_util.canola_open() assert.equals('no', vim.o.signcolumn) vim.cmd.tabnew({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) it('Restores window options on tabnew', function() test_util.canola_open() assert.equals('no', vim.o.signcolumn) vim.cmd.tabnew() vim.cmd.edit({ args = { 'README.md' } }) assert.equals('auto', vim.o.signcolumn) end) it('Sets the window options when re-entering canola buffer', function() canola.open() test_util.wait_for_autocmd({ 'User', pattern = 'CanolaEnter' }) assert.truthy(vim.w.canola_did_enter) vim.cmd.edit({ args = { 'README.md' } }) assert.falsy(vim.w.canola_did_enter) canola.open() assert.truthy(vim.w.canola_did_enter) vim.cmd.vsplit() assert.truthy(vim.w.canola_did_enter) end) end)