19f6277bdSBram Moolenaar" Tests for Vim buffer 29f6277bdSBram Moolenaar 3b7e24836SBram Moolenaarsource check.vim 4b7e24836SBram Moolenaar 59f6277bdSBram Moolenaar" Test for the :bunload command with an offset 69f6277bdSBram Moolenaarfunc Test_bunload_with_offset() 79f6277bdSBram Moolenaar %bwipe! 89f6277bdSBram Moolenaar call writefile(['B1'], 'b1') 99f6277bdSBram Moolenaar call writefile(['B2'], 'b2') 109f6277bdSBram Moolenaar call writefile(['B3'], 'b3') 119f6277bdSBram Moolenaar call writefile(['B4'], 'b4') 129f6277bdSBram Moolenaar 139f6277bdSBram Moolenaar " Load four buffers. Unload the second and third buffers and then 149f6277bdSBram Moolenaar " execute .+3bunload to unload the last buffer. 159f6277bdSBram Moolenaar edit b1 169f6277bdSBram Moolenaar new b2 179f6277bdSBram Moolenaar new b3 189f6277bdSBram Moolenaar new b4 199f6277bdSBram Moolenaar 209f6277bdSBram Moolenaar bunload b2 219f6277bdSBram Moolenaar bunload b3 229f6277bdSBram Moolenaar exe bufwinnr('b1') . 'wincmd w' 239f6277bdSBram Moolenaar .+3bunload 249f6277bdSBram Moolenaar call assert_equal(0, getbufinfo('b4')[0].loaded) 259f6277bdSBram Moolenaar call assert_equal('b1', 269f6277bdSBram Moolenaar \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) 279f6277bdSBram Moolenaar 289f6277bdSBram Moolenaar " Load four buffers. Unload the third and fourth buffers. Execute .+3bunload 299f6277bdSBram Moolenaar " and check whether the second buffer is unloaded. 309f6277bdSBram Moolenaar ball 319f6277bdSBram Moolenaar bunload b3 329f6277bdSBram Moolenaar bunload b4 339f6277bdSBram Moolenaar exe bufwinnr('b1') . 'wincmd w' 349f6277bdSBram Moolenaar .+3bunload 359f6277bdSBram Moolenaar call assert_equal(0, getbufinfo('b2')[0].loaded) 369f6277bdSBram Moolenaar call assert_equal('b1', 379f6277bdSBram Moolenaar \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) 389f6277bdSBram Moolenaar 399f6277bdSBram Moolenaar " Load four buffers. Unload the second and third buffers and from the last 409f6277bdSBram Moolenaar " buffer execute .-3bunload to unload the first buffer. 419f6277bdSBram Moolenaar ball 429f6277bdSBram Moolenaar bunload b2 439f6277bdSBram Moolenaar bunload b3 449f6277bdSBram Moolenaar exe bufwinnr('b4') . 'wincmd w' 459f6277bdSBram Moolenaar .-3bunload 469f6277bdSBram Moolenaar call assert_equal(0, getbufinfo('b1')[0].loaded) 479f6277bdSBram Moolenaar call assert_equal('b4', 489f6277bdSBram Moolenaar \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) 499f6277bdSBram Moolenaar 509f6277bdSBram Moolenaar " Load four buffers. Unload the first and second buffers. Execute .-3bunload 519f6277bdSBram Moolenaar " from the last buffer and check whether the third buffer is unloaded. 529f6277bdSBram Moolenaar ball 539f6277bdSBram Moolenaar bunload b1 549f6277bdSBram Moolenaar bunload b2 559f6277bdSBram Moolenaar exe bufwinnr('b4') . 'wincmd w' 569f6277bdSBram Moolenaar .-3bunload 579f6277bdSBram Moolenaar call assert_equal(0, getbufinfo('b3')[0].loaded) 589f6277bdSBram Moolenaar call assert_equal('b4', 599f6277bdSBram Moolenaar \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) 609f6277bdSBram Moolenaar 619f6277bdSBram Moolenaar %bwipe! 629f6277bdSBram Moolenaar call delete('b1') 639f6277bdSBram Moolenaar call delete('b2') 649f6277bdSBram Moolenaar call delete('b3') 659f6277bdSBram Moolenaar call delete('b4') 66f0cee197SBram Moolenaar 67f0cee197SBram Moolenaar call assert_fails('1,4bunload', 'E16:') 68f0cee197SBram Moolenaar call assert_fails(',100bunload', 'E16:') 69f0cee197SBram Moolenaar 709b7bf9e9SBram Moolenaar call assert_fails('$bunload', 'E90:') 71f0cee197SBram Moolenaarendfunc 72f0cee197SBram Moolenaar 73f0cee197SBram Moolenaar" Test for :buffer, :bnext, :bprevious, :brewind, :blast and :bmodified 74f0cee197SBram Moolenaar" commands 75f0cee197SBram Moolenaarfunc Test_buflist_browse() 76f0cee197SBram Moolenaar %bwipe! 77f0cee197SBram Moolenaar call assert_fails('buffer 1000', 'E86:') 78f0cee197SBram Moolenaar 79f0cee197SBram Moolenaar call writefile(['foo1', 'foo2', 'foo3', 'foo4'], 'Xfile1') 80f0cee197SBram Moolenaar call writefile(['bar1', 'bar2', 'bar3', 'bar4'], 'Xfile2') 81f0cee197SBram Moolenaar call writefile(['baz1', 'baz2', 'baz3', 'baz4'], 'Xfile3') 82f0cee197SBram Moolenaar edit Xfile1 83f0cee197SBram Moolenaar let b1 = bufnr() 84f0cee197SBram Moolenaar edit Xfile2 85f0cee197SBram Moolenaar let b2 = bufnr() 86f0cee197SBram Moolenaar edit +/baz4 Xfile3 87f0cee197SBram Moolenaar let b3 = bufnr() 88f0cee197SBram Moolenaar 89f0cee197SBram Moolenaar call assert_fails('buffer ' .. b1 .. ' abc', 'E488:') 90f0cee197SBram Moolenaar call assert_equal(b3, bufnr()) 91f0cee197SBram Moolenaar call assert_equal(4, line('.')) 92f0cee197SBram Moolenaar exe 'buffer +/bar2 ' .. b2 93f0cee197SBram Moolenaar call assert_equal(b2, bufnr()) 94f0cee197SBram Moolenaar call assert_equal(2, line('.')) 95f0cee197SBram Moolenaar exe 'buffer +/bar1' 96f0cee197SBram Moolenaar call assert_equal(b2, bufnr()) 97f0cee197SBram Moolenaar call assert_equal(1, line('.')) 98f0cee197SBram Moolenaar 99bc2b71d4SBram Moolenaar brewind + 100f0cee197SBram Moolenaar call assert_equal(b1, bufnr()) 101bc2b71d4SBram Moolenaar call assert_equal(4, line('.')) 102f0cee197SBram Moolenaar 103f0cee197SBram Moolenaar blast +/baz2 104f0cee197SBram Moolenaar call assert_equal(b3, bufnr()) 105f0cee197SBram Moolenaar call assert_equal(2, line('.')) 106f0cee197SBram Moolenaar 107f0cee197SBram Moolenaar bprevious +/bar4 108f0cee197SBram Moolenaar call assert_equal(b2, bufnr()) 109f0cee197SBram Moolenaar call assert_equal(4, line('.')) 110f0cee197SBram Moolenaar 111f0cee197SBram Moolenaar bnext +/baz3 112f0cee197SBram Moolenaar call assert_equal(b3, bufnr()) 113f0cee197SBram Moolenaar call assert_equal(3, line('.')) 114f0cee197SBram Moolenaar 115f0cee197SBram Moolenaar call assert_fails('bmodified', 'E84:') 116f0cee197SBram Moolenaar call setbufvar(b2, '&modified', 1) 117f0cee197SBram Moolenaar exe 'bmodified +/bar3' 118f0cee197SBram Moolenaar call assert_equal(b2, bufnr()) 119f0cee197SBram Moolenaar call assert_equal(3, line('.')) 120f0cee197SBram Moolenaar 121f0cee197SBram Moolenaar " With no listed buffers in the list, :bnext and :bprev should fail 122f0cee197SBram Moolenaar %bwipe! 123f0cee197SBram Moolenaar set nobuflisted 124f0cee197SBram Moolenaar call assert_fails('bnext', 'E85:') 125f0cee197SBram Moolenaar call assert_fails('bprev', 'E85:') 126f0cee197SBram Moolenaar set buflisted 127f0cee197SBram Moolenaar 128f0cee197SBram Moolenaar call assert_fails('sandbox bnext', 'E48:') 129f0cee197SBram Moolenaar 130f0cee197SBram Moolenaar call delete('Xfile1') 131f0cee197SBram Moolenaar call delete('Xfile2') 132f0cee197SBram Moolenaar call delete('Xfile3') 133f0cee197SBram Moolenaar %bwipe! 134f0cee197SBram Moolenaarendfunc 135f0cee197SBram Moolenaar 136f0cee197SBram Moolenaar" Test for :bdelete 137f0cee197SBram Moolenaarfunc Test_bdelete_cmd() 138f0cee197SBram Moolenaar %bwipe! 139f0cee197SBram Moolenaar call assert_fails('bdelete 5', 'E516:') 1409b9be007SBram Moolenaar call assert_fails('1,1bdelete 1 2', 'E488:') 141531be47aSBram Moolenaar call assert_fails('bdelete \)', 'E55:') 142f0cee197SBram Moolenaar 143f0cee197SBram Moolenaar " Deleting a unlisted and unloaded buffer 144f0cee197SBram Moolenaar edit Xfile1 145f0cee197SBram Moolenaar let bnr = bufnr() 146f0cee197SBram Moolenaar set nobuflisted 147f0cee197SBram Moolenaar enew 148f0cee197SBram Moolenaar call assert_fails('bdelete ' .. bnr, 'E516:') 149b7e24836SBram Moolenaar 150b7e24836SBram Moolenaar " Deleting more than one buffer 151b7e24836SBram Moolenaar new Xbuf1 152b7e24836SBram Moolenaar new Xbuf2 153b7e24836SBram Moolenaar exe 'bdel ' .. bufnr('Xbuf2') .. ' ' .. bufnr('Xbuf1') 154b7e24836SBram Moolenaar call assert_equal(1, winnr('$')) 155b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xbuf1')[0].loaded) 156b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xbuf2')[0].loaded) 157b7e24836SBram Moolenaar 158b7e24836SBram Moolenaar " Deleting more than one buffer and an invalid buffer 159b7e24836SBram Moolenaar new Xbuf1 160b7e24836SBram Moolenaar new Xbuf2 161b7e24836SBram Moolenaar let cmd = "exe 'bdel ' .. bufnr('Xbuf2') .. ' xxx ' .. bufnr('Xbuf1')" 162b7e24836SBram Moolenaar call assert_fails(cmd, 'E94:') 163b7e24836SBram Moolenaar call assert_equal(2, winnr('$')) 164b7e24836SBram Moolenaar call assert_equal(1, getbufinfo('Xbuf1')[0].loaded) 165b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xbuf2')[0].loaded) 166b7e24836SBram Moolenaar 167f0cee197SBram Moolenaar %bwipe! 1689f6277bdSBram Moolenaarendfunc 1699f6277bdSBram Moolenaar 170067297e1SBram Moolenaarfunc Test_buffer_error() 171067297e1SBram Moolenaar new foo1 172067297e1SBram Moolenaar new foo2 173067297e1SBram Moolenaar 174067297e1SBram Moolenaar call assert_fails('buffer foo', 'E93:') 175067297e1SBram Moolenaar call assert_fails('buffer bar', 'E94:') 176067297e1SBram Moolenaar call assert_fails('buffer 0', 'E939:') 177067297e1SBram Moolenaar 178067297e1SBram Moolenaar %bwipe 179067297e1SBram Moolenaarendfunc 180067297e1SBram Moolenaar 181b7e24836SBram Moolenaar" Test for the status messages displayed when unloading, deleting or wiping 182b7e24836SBram Moolenaar" out buffers 183b7e24836SBram Moolenaarfunc Test_buffer_statusmsg() 184b7e24836SBram Moolenaar CheckEnglish 185b7e24836SBram Moolenaar set report=1 186b7e24836SBram Moolenaar new Xbuf1 187b7e24836SBram Moolenaar new Xbuf2 188b7e24836SBram Moolenaar let bnr = bufnr() 189b7e24836SBram Moolenaar exe "normal 2\<C-G>" 190b7e24836SBram Moolenaar call assert_match('buf ' .. bnr .. ':', v:statusmsg) 191b7e24836SBram Moolenaar bunload Xbuf1 Xbuf2 192b7e24836SBram Moolenaar call assert_equal('2 buffers unloaded', v:statusmsg) 193b7e24836SBram Moolenaar bdel Xbuf1 Xbuf2 194b7e24836SBram Moolenaar call assert_equal('2 buffers deleted', v:statusmsg) 195b7e24836SBram Moolenaar bwipe Xbuf1 Xbuf2 196b7e24836SBram Moolenaar call assert_equal('2 buffers wiped out', v:statusmsg) 197b7e24836SBram Moolenaar set report& 198b7e24836SBram Moolenaarendfunc 199b7e24836SBram Moolenaar 200b7e24836SBram Moolenaar" Test for quitting the 'swapfile exists' dialog with the split buffer 201b7e24836SBram Moolenaar" command. 202b7e24836SBram Moolenaarfunc Test_buffer_sbuf_cleanup() 203b7e24836SBram Moolenaar call writefile([], 'Xfile') 204b7e24836SBram Moolenaar " first open the file in a buffer 205b7e24836SBram Moolenaar new Xfile 206b7e24836SBram Moolenaar let bnr = bufnr() 207b7e24836SBram Moolenaar close 208b7e24836SBram Moolenaar " create the swap file 209b7e24836SBram Moolenaar call writefile([], '.Xfile.swp') 210b7e24836SBram Moolenaar " Remove the catch-all that runtest.vim adds 211b7e24836SBram Moolenaar au! SwapExists 212b7e24836SBram Moolenaar augroup BufTest 213b7e24836SBram Moolenaar au! 214b7e24836SBram Moolenaar autocmd SwapExists Xfile let v:swapchoice='q' 215b7e24836SBram Moolenaar augroup END 216b7e24836SBram Moolenaar exe 'sbuf ' . bnr 217b7e24836SBram Moolenaar call assert_equal(1, winnr('$')) 218b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xfile')[0].loaded) 219b7e24836SBram Moolenaar 220b7e24836SBram Moolenaar " test for :sball 221b7e24836SBram Moolenaar sball 222b7e24836SBram Moolenaar call assert_equal(1, winnr('$')) 223b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xfile')[0].loaded) 224b7e24836SBram Moolenaar 225b7e24836SBram Moolenaar %bw! 226b7e24836SBram Moolenaar set shortmess+=F 227b7e24836SBram Moolenaar let v:statusmsg = '' 228b7e24836SBram Moolenaar edit Xfile 229b7e24836SBram Moolenaar call assert_equal('', v:statusmsg) 230b7e24836SBram Moolenaar call assert_equal(1, winnr('$')) 231b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xfile')[0].loaded) 232b7e24836SBram Moolenaar set shortmess& 233b7e24836SBram Moolenaar 234b7e24836SBram Moolenaar call delete('Xfile') 235b7e24836SBram Moolenaar call delete('.Xfile.swp') 236b7e24836SBram Moolenaar augroup BufTest 237b7e24836SBram Moolenaar au! 238b7e24836SBram Moolenaar augroup END 239b7e24836SBram Moolenaar augroup! BufTest 240b7e24836SBram Moolenaarendfunc 241b7e24836SBram Moolenaar 242b7e24836SBram Moolenaar" Test for deleting a modified buffer with :confirm 243b7e24836SBram Moolenaarfunc Test_bdel_with_confirm() 244b7e24836SBram Moolenaar CheckUnix 245b7e24836SBram Moolenaar CheckNotGui 246b7e24836SBram Moolenaar CheckFeature dialog_con 247b7e24836SBram Moolenaar new 248b7e24836SBram Moolenaar call setline(1, 'test') 249b7e24836SBram Moolenaar call assert_fails('bdel', 'E89:') 250b7e24836SBram Moolenaar call feedkeys('c', 'L') 251b7e24836SBram Moolenaar confirm bdel 252b7e24836SBram Moolenaar call assert_equal(2, winnr('$')) 253b7e24836SBram Moolenaar call assert_equal(1, &modified) 254b7e24836SBram Moolenaar call feedkeys('n', 'L') 255b7e24836SBram Moolenaar confirm bdel 256b7e24836SBram Moolenaar call assert_equal(1, winnr('$')) 257b7e24836SBram Moolenaarendfunc 258b7e24836SBram Moolenaar 259b7e24836SBram Moolenaar" Test for editing another buffer from a modified buffer with :confirm 260b7e24836SBram Moolenaarfunc Test_goto_buf_with_confirm() 261b7e24836SBram Moolenaar CheckUnix 262b7e24836SBram Moolenaar CheckNotGui 263b7e24836SBram Moolenaar CheckFeature dialog_con 264b7e24836SBram Moolenaar new Xfile 265b7e24836SBram Moolenaar enew 266b7e24836SBram Moolenaar call setline(1, 'test') 267b7e24836SBram Moolenaar call assert_fails('b Xfile', 'E37:') 268b7e24836SBram Moolenaar call feedkeys('c', 'L') 269b7e24836SBram Moolenaar call assert_fails('confirm b Xfile', 'E37:') 270b7e24836SBram Moolenaar call assert_equal(1, &modified) 271b7e24836SBram Moolenaar call assert_equal('', @%) 272b7e24836SBram Moolenaar call feedkeys('y', 'L') 2739b7bf9e9SBram Moolenaar call assert_fails('confirm b Xfile', ['', 'E37:']) 274b7e24836SBram Moolenaar call assert_equal(1, &modified) 275b7e24836SBram Moolenaar call assert_equal('', @%) 276b7e24836SBram Moolenaar call feedkeys('n', 'L') 277b7e24836SBram Moolenaar confirm b Xfile 278b7e24836SBram Moolenaar call assert_equal('Xfile', @%) 279b7e24836SBram Moolenaar close! 280b7e24836SBram Moolenaarendfunc 281b7e24836SBram Moolenaar 282b7e24836SBram Moolenaar" Test for splitting buffer with 'switchbuf' 283b7e24836SBram Moolenaarfunc Test_buffer_switchbuf() 284b7e24836SBram Moolenaar new Xfile 285b7e24836SBram Moolenaar wincmd w 286b7e24836SBram Moolenaar set switchbuf=useopen 287b7e24836SBram Moolenaar sbuf Xfile 288b7e24836SBram Moolenaar call assert_equal(1, winnr()) 289b7e24836SBram Moolenaar call assert_equal(2, winnr('$')) 290b7e24836SBram Moolenaar set switchbuf=usetab 291b7e24836SBram Moolenaar tabnew 292b7e24836SBram Moolenaar sbuf Xfile 293b7e24836SBram Moolenaar call assert_equal(1, tabpagenr()) 294b7e24836SBram Moolenaar call assert_equal(2, tabpagenr('$')) 295b7e24836SBram Moolenaar set switchbuf& 296b7e24836SBram Moolenaar %bw 297b7e24836SBram Moolenaarendfunc 298b7e24836SBram Moolenaar 299b7e24836SBram Moolenaar" Test for BufAdd autocommand wiping out the buffer 300b7e24836SBram Moolenaarfunc Test_bufadd_autocmd_bwipe() 301b7e24836SBram Moolenaar %bw! 302b7e24836SBram Moolenaar augroup BufAdd_Wipe 303b7e24836SBram Moolenaar au! 304b7e24836SBram Moolenaar autocmd BufAdd Xfile %bw! 305b7e24836SBram Moolenaar augroup END 306b7e24836SBram Moolenaar edit Xfile 307b7e24836SBram Moolenaar call assert_equal('', @%) 308b7e24836SBram Moolenaar call assert_equal(0, bufexists('Xfile')) 309b7e24836SBram Moolenaar augroup BufAdd_Wipe 310b7e24836SBram Moolenaar au! 311b7e24836SBram Moolenaar augroup END 312b7e24836SBram Moolenaar augroup! BufAdd_Wipe 313b7e24836SBram Moolenaarendfunc 314b7e24836SBram Moolenaar 315b7e24836SBram Moolenaar" Test for trying to load a buffer with text locked 316b7e24836SBram Moolenaar" <C-\>e in the command line is used to lock the text 317b7e24836SBram Moolenaarfunc Test_load_buf_with_text_locked() 318b7e24836SBram Moolenaar new Xfile1 319b7e24836SBram Moolenaar edit Xfile2 320b7e24836SBram Moolenaar let cmd = ":\<C-\>eexecute(\"normal \<C-O>\")\<CR>\<C-C>" 321b7e24836SBram Moolenaar call assert_fails("call feedkeys(cmd, 'xt')", 'E565:') 322b7e24836SBram Moolenaar %bw! 323b7e24836SBram Moolenaarendfunc 324b7e24836SBram Moolenaar 325b7e24836SBram Moolenaar" Test for using CTRL-^ to edit the alternative file keeping the cursor 326b7e24836SBram Moolenaar" position with 'nostartofline'. Also test using the 'buf' command. 327b7e24836SBram Moolenaarfunc Test_buffer_edit_altfile() 328b7e24836SBram Moolenaar call writefile(repeat(['one two'], 50), 'Xfile1') 329b7e24836SBram Moolenaar call writefile(repeat(['five six'], 50), 'Xfile2') 330b7e24836SBram Moolenaar set nosol 331b7e24836SBram Moolenaar edit Xfile1 332b7e24836SBram Moolenaar call cursor(25, 5) 333b7e24836SBram Moolenaar edit Xfile2 334b7e24836SBram Moolenaar call cursor(30, 4) 335b7e24836SBram Moolenaar exe "normal \<C-^>" 336b7e24836SBram Moolenaar call assert_equal([0, 25, 5, 0], getpos('.')) 337b7e24836SBram Moolenaar exe "normal \<C-^>" 338b7e24836SBram Moolenaar call assert_equal([0, 30, 4, 0], getpos('.')) 339b7e24836SBram Moolenaar buf Xfile1 340b7e24836SBram Moolenaar call assert_equal([0, 25, 5, 0], getpos('.')) 341b7e24836SBram Moolenaar buf Xfile2 342b7e24836SBram Moolenaar call assert_equal([0, 30, 4, 0], getpos('.')) 343b7e24836SBram Moolenaar set sol& 344b7e24836SBram Moolenaar call delete('Xfile1') 345b7e24836SBram Moolenaar call delete('Xfile2') 346b7e24836SBram Moolenaarendfunc 347b7e24836SBram Moolenaar 348b7e24836SBram Moolenaar" Test for running the :sball command with a maximum window count and a 349b7e24836SBram Moolenaar" modified buffer 350b7e24836SBram Moolenaarfunc Test_sball_with_count() 351b7e24836SBram Moolenaar %bw! 352b7e24836SBram Moolenaar edit Xfile1 353b7e24836SBram Moolenaar call setline(1, ['abc']) 354b7e24836SBram Moolenaar new Xfile2 355b7e24836SBram Moolenaar new Xfile3 356b7e24836SBram Moolenaar new Xfile4 357b7e24836SBram Moolenaar 2sball 358b7e24836SBram Moolenaar call assert_equal(bufnr('Xfile4'), winbufnr(1)) 359b7e24836SBram Moolenaar call assert_equal(bufnr('Xfile1'), winbufnr(2)) 360b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xfile2')[0].loaded) 361b7e24836SBram Moolenaar call assert_equal(0, getbufinfo('Xfile3')[0].loaded) 362b7e24836SBram Moolenaar %bw! 363b7e24836SBram Moolenaarendfunc 364b7e24836SBram Moolenaar 365e974fa7bSBram Moolenaarfunc Test_badd_options() 366e974fa7bSBram Moolenaar new SomeNewBuffer 36737e4e03cSBram Moolenaar setlocal numberwidth=3 368e974fa7bSBram Moolenaar wincmd p 36989b693e5SBram Moolenaar badd +1 SomeNewBuffer 370e974fa7bSBram Moolenaar new SomeNewBuffer 37137e4e03cSBram Moolenaar call assert_equal(3, &numberwidth) 372e974fa7bSBram Moolenaar close 373e974fa7bSBram Moolenaar close 374e974fa7bSBram Moolenaar bwipe! SomeNewBuffer 375e974fa7bSBram Moolenaarendfunc 376e974fa7bSBram Moolenaar 37759d8e56eSBram Moolenaarfunc Test_balt() 37859d8e56eSBram Moolenaar new SomeNewBuffer 37959d8e56eSBram Moolenaar balt +3 OtherBuffer 38059d8e56eSBram Moolenaar e # 38159d8e56eSBram Moolenaar call assert_equal('OtherBuffer', bufname()) 38259d8e56eSBram Moolenaarendfunc 38359d8e56eSBram Moolenaar 384*7b7a118eSTsuyoshi CHO" Test for buffer match URL(scheme) check 385*7b7a118eSTsuyoshi CHO" scheme is alpha and inner hyphen only. 386*7b7a118eSTsuyoshi CHOfunc Test_buffer_scheme() 387*7b7a118eSTsuyoshi CHO CheckMSWindows 388*7b7a118eSTsuyoshi CHO 389*7b7a118eSTsuyoshi CHO set noshellslash 390*7b7a118eSTsuyoshi CHO %bwipe! 391*7b7a118eSTsuyoshi CHO let bufnames = [ 392*7b7a118eSTsuyoshi CHO \ #{id: 'b0', name: 'test://xyz/foo/b0' , match: 1}, 393*7b7a118eSTsuyoshi CHO \ #{id: 'b1', name: 'test+abc://xyz/foo/b1', match: 0}, 394*7b7a118eSTsuyoshi CHO \ #{id: 'b2', name: 'test_abc://xyz/foo/b2', match: 0}, 395*7b7a118eSTsuyoshi CHO \ #{id: 'b3', name: 'test-abc://xyz/foo/b3', match: 1}, 396*7b7a118eSTsuyoshi CHO \ #{id: 'b4', name: '-test://xyz/foo/b4' , match: 0}, 397*7b7a118eSTsuyoshi CHO \ #{id: 'b5', name: 'test-://xyz/foo/b5' , match: 0}, 398*7b7a118eSTsuyoshi CHO \] 399*7b7a118eSTsuyoshi CHO for buf in bufnames 400*7b7a118eSTsuyoshi CHO new `=buf.name` 401*7b7a118eSTsuyoshi CHO if buf.match 402*7b7a118eSTsuyoshi CHO call assert_equal(buf.name, getbufinfo(buf.id)[0].name) 403*7b7a118eSTsuyoshi CHO else 404*7b7a118eSTsuyoshi CHO " slashes will have become backslashes 405*7b7a118eSTsuyoshi CHO call assert_notequal(buf.name, getbufinfo(buf.id)[0].name) 406*7b7a118eSTsuyoshi CHO endif 407*7b7a118eSTsuyoshi CHO bwipe 408*7b7a118eSTsuyoshi CHO endfor 409*7b7a118eSTsuyoshi CHO 410*7b7a118eSTsuyoshi CHO set shellslash& 411*7b7a118eSTsuyoshi CHOendfunc 412*7b7a118eSTsuyoshi CHO 41346aa6f93SYegappan Lakshmanan" Test for the 'maxmem' and 'maxmemtot' options 41446aa6f93SYegappan Lakshmananfunc Test_buffer_maxmem() 41546aa6f93SYegappan Lakshmanan " use 1KB per buffer and 2KB for all the buffers 41646aa6f93SYegappan Lakshmanan set maxmem=1 maxmemtot=2 41746aa6f93SYegappan Lakshmanan new 41846aa6f93SYegappan Lakshmanan let v:errmsg = '' 41946aa6f93SYegappan Lakshmanan " try opening some files 42046aa6f93SYegappan Lakshmanan edit test_arglist.vim 42146aa6f93SYegappan Lakshmanan call assert_equal('test_arglist.vim', bufname()) 42246aa6f93SYegappan Lakshmanan edit test_eval_stuff.vim 42346aa6f93SYegappan Lakshmanan call assert_equal('test_eval_stuff.vim', bufname()) 42446aa6f93SYegappan Lakshmanan b test_arglist.vim 42546aa6f93SYegappan Lakshmanan call assert_equal('test_arglist.vim', bufname()) 42646aa6f93SYegappan Lakshmanan b test_eval_stuff.vim 42746aa6f93SYegappan Lakshmanan call assert_equal('test_eval_stuff.vim', bufname()) 42846aa6f93SYegappan Lakshmanan close 42946aa6f93SYegappan Lakshmanan call assert_equal('', v:errmsg) 43046aa6f93SYegappan Lakshmanan set maxmem& maxmemtot& 43146aa6f93SYegappan Lakshmananendfunc 43246aa6f93SYegappan Lakshmanan 4339f6277bdSBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 434