mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
e61228a214
Before calling "attach" a screen object is just a dummy container for (row, col) values whose purpose is to be sent as part of the "attach" function call anyway. Just create the screen in an attached state directly. Keep the complete (row, col, options) config together. It is still completely valid to later detach and re-attach as needed, including to another session.
57 lines
1.7 KiB
Lua
57 lines
1.7 KiB
Lua
-- Tests for adjusting window and contents
|
|
|
|
local n = require('test.functional.testnvim')()
|
|
local Screen = require('test.functional.ui.screen')
|
|
|
|
local poke_eventloop = n.poke_eventloop
|
|
local clear = n.clear
|
|
local insert = n.insert
|
|
local command = n.command
|
|
|
|
describe('107', function()
|
|
setup(clear)
|
|
|
|
it('is working', function()
|
|
local screen = Screen.new()
|
|
|
|
insert('start:')
|
|
poke_eventloop()
|
|
command('new')
|
|
command('call setline(1, range(1,256))')
|
|
command('let r=[]')
|
|
command([[
|
|
func! GetScreenStr(row)
|
|
let str = ""
|
|
for c in range(1,3)
|
|
let str .= nr2char(screenchar(a:row, c))
|
|
endfor
|
|
return str
|
|
endfunc
|
|
]])
|
|
command([[exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"]])
|
|
command('let s3=GetScreenStr(1)')
|
|
command('wincmd p')
|
|
command('call add(r, [line("w0"), s3])')
|
|
command([[exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"]])
|
|
command('let s3=GetScreenStr(1)')
|
|
command('wincmd p')
|
|
command('call add(r, [line("w0"), s3])')
|
|
command([[exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"]])
|
|
command('let s3=GetScreenStr(1)')
|
|
command(':wincmd p')
|
|
command('call add(r, [line("w0"), s3])')
|
|
command('bwipeout!')
|
|
command('$put=r')
|
|
command('call garbagecollect(1)')
|
|
|
|
screen:expect([[
|
|
start: |
|
|
[1, '1 '] |
|
|
[50, '50 '] |
|
|
^[59, '59 '] |
|
|
{1:~ }|*9
|
|
3 more lines |
|
|
]])
|
|
end)
|
|
end)
|