neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_close_count.vim (3446B)


      1 " Tests for :[count]close! command
      2 func Test_close_count()
      3  enew! | only
      4 
      5  let wids = [win_getid()]
      6  for i in range(5)
      7    new
      8    call add(wids, win_getid())
      9  endfor
     10 
     11  4wincmd w
     12  close!
     13  let ids = []
     14  windo call add(ids, win_getid())
     15  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
     16 
     17  1close!
     18  let ids = []
     19  windo call add(ids, win_getid())
     20  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
     21 
     22  $close!
     23  let ids = []
     24  windo call add(ids, win_getid())
     25  call assert_equal([wids[4], wids[3], wids[1]], ids)
     26 
     27  1wincmd w
     28  2close!
     29  let ids = []
     30  windo call add(ids, win_getid())
     31  call assert_equal([wids[4], wids[1]], ids)
     32 
     33  1wincmd w
     34  new
     35  call add(wids, win_getid())
     36  new
     37  call add(wids, win_getid())
     38  2wincmd w
     39  -1close!
     40  let ids = []
     41  windo call add(ids, win_getid())
     42  call assert_equal([wids[6], wids[4], wids[1]], ids)
     43 
     44  2wincmd w
     45  +1close!
     46  let ids = []
     47  windo call add(ids, win_getid())
     48  call assert_equal([wids[6], wids[4]], ids)
     49 
     50  only!
     51 endfunc
     52 
     53 " Tests for :[count]hide command
     54 func Test_hide_count()
     55  enew! | only
     56 
     57  let wids = [win_getid()]
     58  for i in range(5)
     59    new
     60    call add(wids, win_getid())
     61  endfor
     62 
     63  4wincmd w
     64  .hide
     65  let ids = []
     66  windo call add(ids, win_getid())
     67  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
     68 
     69  1hide
     70  let ids = []
     71  windo call add(ids, win_getid())
     72  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
     73 
     74  $hide
     75  let ids = []
     76  windo call add(ids, win_getid())
     77  call assert_equal([wids[4], wids[3], wids[1]], ids)
     78 
     79  1wincmd w
     80  2hide
     81  let ids = []
     82  windo call add(ids, win_getid())
     83  call assert_equal([wids[4], wids[1]], ids)
     84 
     85  1wincmd w
     86  new
     87  call add(wids, win_getid())
     88  new
     89  call add(wids, win_getid())
     90  3wincmd w
     91  -hide
     92  let ids = []
     93  windo call add(ids, win_getid())
     94  call assert_equal([wids[7], wids[4], wids[1]], ids)
     95 
     96  2wincmd w
     97  +hide
     98  let ids = []
     99  windo call add(ids, win_getid())
    100  call assert_equal([wids[7], wids[4]], ids)
    101 
    102  only!
    103 endfunc
    104 
    105 " Tests for :[count]close! command with 'hidden'
    106 func Test_hidden_close_count()
    107  enew! | only
    108 
    109  let wids = [win_getid()]
    110  for i in range(5)
    111    new
    112    call add(wids, win_getid())
    113  endfor
    114 
    115  set hidden
    116 
    117  $ hide
    118  let ids = []
    119  windo call add(ids, win_getid())
    120  call assert_equal([wids[5], wids[4], wids[3], wids[2], wids[1]], ids)
    121 
    122  $-1 close!
    123  let ids = []
    124  windo call add(ids, win_getid())
    125  call assert_equal([wids[5], wids[4], wids[3], wids[1]], ids)
    126 
    127  1wincmd w
    128  .+close!
    129  let ids = []
    130  windo call add(ids, win_getid())
    131  call assert_equal([wids[5], wids[3], wids[1]], ids)
    132 
    133  set nohidden
    134  only!
    135 endfunc
    136 
    137 " Tests for 'CTRL-W c' command to close windows.
    138 func Test_winclose_command()
    139  enew! | only
    140 
    141  let wids = [win_getid()]
    142  for i in range(5)
    143    new
    144    call add(wids, win_getid())
    145  endfor
    146 
    147  set hidden
    148 
    149  4wincmd w
    150  exe "normal \<C-W>c"
    151  let ids = []
    152  windo call add(ids, win_getid())
    153  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
    154 
    155  exe "normal 1\<C-W>c"
    156  let ids = []
    157  windo call add(ids, win_getid())
    158  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
    159 
    160  exe "normal 9\<C-W>c"
    161  let ids = []
    162  windo call add(ids, win_getid())
    163  call assert_equal([wids[4], wids[3], wids[1]], ids)
    164 
    165  1wincmd w
    166  exe "normal 2\<C-W>c"
    167  let ids = []
    168  windo call add(ids, win_getid())
    169  call assert_equal([wids[4], wids[1]], ids)
    170 
    171  set nohidden
    172  only!
    173 endfunc