fix(ui): update title in more cases (#31508)

This commit is contained in:
zeertzjq
2024-12-10 14:53:02 +08:00
committed by GitHub
parent 98694c3675
commit d1fd674df3
5 changed files with 85 additions and 8 deletions

View File

@@ -37,6 +37,63 @@ describe('title', function()
end)
end)
it('is updated in Insert mode', function()
api.nvim_set_option_value('title', true, {})
screen:expect(function()
eq('[No Name] - Nvim', screen.title)
end)
feed('ifoo')
screen:expect(function()
eq('[No Name] + - Nvim', screen.title)
end)
feed('<Esc>')
api.nvim_set_option_value('titlestring', '%m %f (%{mode(1)}) | nvim', {})
screen:expect(function()
eq('[+] [No Name] (n) | nvim', screen.title)
end)
feed('i')
screen:expect(function()
eq('[+] [No Name] (i) | nvim', screen.title)
end)
feed('<Esc>')
screen:expect(function()
eq('[+] [No Name] (n) | nvim', screen.title)
end)
end)
it('is updated in Cmdline mode', function()
api.nvim_set_option_value('title', true, {})
api.nvim_set_option_value('titlestring', '%f (%{mode(1)}) | nvim', {})
screen:expect(function()
eq('[No Name] (n) | nvim', screen.title)
end)
feed(':')
screen:expect(function()
eq('[No Name] (c) | nvim', screen.title)
end)
feed('<Esc>')
screen:expect(function()
eq('[No Name] (n) | nvim', screen.title)
end)
end)
it('is updated in Terminal mode', function()
api.nvim_set_option_value('title', true, {})
api.nvim_set_option_value('titlestring', '(%{mode(1)}) | nvim', {})
fn.termopen({ n.testprg('shell-test'), 'INTERACT' })
screen:expect(function()
eq('(nt) | nvim', screen.title)
end)
feed('i')
screen:expect(function()
eq('(t) | nvim', screen.title)
end)
feed([[<C-\><C-N>]])
screen:expect(function()
eq('(nt) | nvim', screen.title)
end)
end)
describe('is not changed by', function()
local file1 = is_os('win') and 'C:\\mydir\\myfile1' or '/mydir/myfile1'
local file2 = is_os('win') and 'C:\\mydir\\myfile2' or '/mydir/myfile2'