cursorbind_spec.lua (3351B)
1 local n = require('test.functional.testnvim')() 2 local Screen = require('test.functional.ui.screen') 3 4 local clear = n.clear 5 local command = n.command 6 local exec = n.exec 7 local feed = n.feed 8 9 before_each(clear) 10 11 describe("'cursorbind'", function() 12 -- oldtest: Test_cursorline_cursorbind_horizontal_scroll() 13 it("behaves consistently whether 'cursorline' is set or not vim-patch:8.2.4795", function() 14 local screen = Screen.new(60, 8) 15 screen:set_default_attr_ids({ 16 [1] = { bold = true, foreground = Screen.colors.Blue }, -- NonText 17 [2] = { bold = true, reverse = true }, -- StatusLine 18 [3] = { reverse = true }, -- StatusLineNC 19 [4] = { background = Screen.colors.Grey90 }, -- CursorLine, CursorColumn 20 }) 21 exec([[ 22 call setline(1, 'aa bb cc dd ee ff gg hh ii jj kk ll mm' .. 23 \ ' nn oo pp qq rr ss tt uu vv ww xx yy zz') 24 set nowrap 25 " The following makes the cursor apparent on the screen dump 26 set sidescroll=1 cursorcolumn 27 " add empty lines, required for cursorcolumn 28 call append(1, ['','','','']) 29 20vsp 30 windo :set cursorbind 31 ]]) 32 feed('20l') 33 screen:expect([[ 34 a bb cc dd ee ff gg │aa bb cc dd ee ff gg^ hh ii jj kk ll mm | 35 {4: }│ {4: } |*4 36 {1:~ }│{1:~ }| 37 {3:[No Name] [+] }{2:[No Name] [+] }| 38 | 39 ]]) 40 feed('10l') 41 screen:expect([[ 42 hh ii jj kk ll mm n│aa bb cc dd ee ff gg hh ii jj ^kk ll mm | 43 {4: } │ {4: } |*4 44 {1:~ }│{1:~ }| 45 {3:[No Name] [+] }{2:[No Name] [+] }| 46 | 47 ]]) 48 command('windo :set cursorline') 49 feed('0') 50 feed('20l') 51 screen:expect([[ 52 {4:a bb cc dd ee ff gg }│{4:aa bb cc dd ee ff gg^ hh ii jj kk ll mm }| 53 {4: }│ {4: } |*4 54 {1:~ }│{1:~ }| 55 {3:[No Name] [+] }{2:[No Name] [+] }| 56 | 57 ]]) 58 feed('10l') 59 screen:expect([[ 60 {4: hh ii jj kk ll mm n}│{4:aa bb cc dd ee ff gg hh ii jj ^kk ll mm }| 61 {4: } │ {4: } |*4 62 {1:~ }│{1:~ }| 63 {3:[No Name] [+] }{2:[No Name] [+] }| 64 | 65 ]]) 66 command('windo :set nocursorline nocursorcolumn') 67 feed('0') 68 feed('40l') 69 screen:expect([[ 70 kk ll mm nn oo pp qq│ bb cc dd ee ff gg hh ii jj kk ll mm n^n| 71 │ |*4 72 {1:~ }│{1:~ }| 73 {3:[No Name] [+] }{2:[No Name] [+] }| 74 | 75 ]]) 76 end) 77 end)