" Tests for Vim buffer " Test for the :bunload command with an offset func Test_bunload_with_offset() %bwipe! call writefile(['B1'], 'b1') call writefile(['B2'], 'b2') call writefile(['B3'], 'b3') call writefile(['B4'], 'b4') " Load four buffers. Unload the second and third buffers and then " execute .+3bunload to unload the last buffer. edit b1 new b2 new b3 new b4 bunload b2 bunload b3 exe bufwinnr('b1') . 'wincmd w' .+3bunload call assert_equal(0, getbufinfo('b4')[0].loaded) call assert_equal('b1', \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) " Load four buffers. Unload the third and fourth buffers. Execute .+3bunload " and check whether the second buffer is unloaded. ball bunload b3 bunload b4 exe bufwinnr('b1') . 'wincmd w' .+3bunload call assert_equal(0, getbufinfo('b2')[0].loaded) call assert_equal('b1', \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) " Load four buffers. Unload the second and third buffers and from the last " buffer execute .-3bunload to unload the first buffer. ball bunload b2 bunload b3 exe bufwinnr('b4') . 'wincmd w' .-3bunload call assert_equal(0, getbufinfo('b1')[0].loaded) call assert_equal('b4', \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) " Load four buffers. Unload the first and second buffers. Execute .-3bunload " from the last buffer and check whether the third buffer is unloaded. ball bunload b1 bunload b2 exe bufwinnr('b4') . 'wincmd w' .-3bunload call assert_equal(0, getbufinfo('b3')[0].loaded) call assert_equal('b4', \ fnamemodify(getbufinfo({'bufloaded' : 1})[0].name, ':t')) %bwipe! call delete('b1') call delete('b2') call delete('b3') call delete('b4') endfunc " vim: shiftwidth=2 sts=2 expandtab