view src/testdir/test_close_count.vim @ 15022:f3b4cd98944c v8.1.0522

patch 8.1.0522: :terminal does not show trailing empty lines commit https://github.com/vim/vim/commit/f3aea59afa23304266dfd0dd26b5d8cc70a21331 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 11 22:18:21 2018 +0100 patch 8.1.0522: :terminal does not show trailing empty lines Problem: :terminal does not show trailing empty lines. Solution: Add empty lines. (Hirohito Higashi, closes https://github.com/vim/vim/issues/3605)
author Bram Moolenaar <Bram@vim.org>
date Sun, 11 Nov 2018 22:30:05 +0100
parents 90aaa974594e
children 08940efa6b4e
line wrap: on
line source


" Tests for :[count]close! command
func Test_close_count()
  enew! | only

  let wids = [win_getid()]
  for i in range(5)
    new
    call add(wids, win_getid())
  endfor

  4wincmd w
  close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)

  1close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)

  $close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1]], ids)

  1wincmd w
  2close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[1]], ids)

  1wincmd w
  new
  call add(wids, win_getid())
  new
  call add(wids, win_getid())
  2wincmd w
  -1close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[6], wids[4], wids[1]], ids)

  2wincmd w
  +1close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[6], wids[4]], ids)

  only!
endfunc

" Tests for :[count]hide command
func Test_hide_count()
  enew! | only

  let wids = [win_getid()]
  for i in range(5)
    new
    call add(wids, win_getid())
  endfor

  4wincmd w
  .hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)

  1hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)

  $hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1]], ids)

  1wincmd w
  2hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[1]], ids)

  1wincmd w
  new
  call add(wids, win_getid())
  new
  call add(wids, win_getid())
  3wincmd w
  -hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[7], wids[4], wids[1]], ids)

  2wincmd w
  +hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[7], wids[4]], ids)

  only!
endfunc

" Tests for :[count]close! command with 'hidden'
func Test_hidden_close_count()
  enew! | only

  let wids = [win_getid()]
  for i in range(5)
    new
    call add(wids, win_getid())
  endfor

  set hidden

  $ hide
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[4], wids[3], wids[2], wids[1]], ids)

  $-1 close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[4], wids[3], wids[1]], ids)

  1wincmd w
  .+close!
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[3], wids[1]], ids)

  set nohidden
  only!
endfunc

" Tests for 'CTRL-W c' command to close windows.
func Test_winclose_command()
  enew! | only

  let wids = [win_getid()]
  for i in range(5)
    new
    call add(wids, win_getid())
  endfor

  set hidden

  4wincmd w
  exe "normal \<C-W>c"
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)

  exe "normal 1\<C-W>c"
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)

  exe "normal 9\<C-W>c"
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[3], wids[1]], ids)

  1wincmd w
  exe "normal 2\<C-W>c"
  let ids = []
  windo call add(ids, win_getid())
  call assert_equal([wids[4], wids[1]], ids)

  set nohidden
  only!
endfunc