Mercurial > vim
view src/testdir/test_window_id.vim @ 10060:cf9e550f17f6 v7.4.2301
commit https://github.com/vim/vim/commit/641ad6c7ac7367f95fd927b8efa4bf74ddb9ccf3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 1 18:32:11 2016 +0200
patch 7.4.2301
Problem: MS-Windows: some files remain after testing.
Solution: Close the channel output file. Wait for the file handle to be
closed before deleting the file.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Sep 2016 18:45:07 +0200 |
parents | 6c4d610fce0a |
children | dd397210a2d3 |
line wrap: on
line source
" Test using the window ID. func Test_win_getid() edit one let id1 = win_getid() let w:one = 'one' split two let id2 = win_getid() let bufnr2 = bufnr('%') let w:two = 'two' split three let id3 = win_getid() let w:three = 'three' tabnew edit four let id4 = win_getid() let w:four = 'four' split five let id5 = win_getid() let bufnr5 = bufnr('%') let w:five = 'five' tabnext wincmd w call assert_equal("two", expand("%")) call assert_equal(id2, win_getid()) let nr2 = winnr() wincmd w call assert_equal("one", expand("%")) call assert_equal(id1, win_getid()) let nr1 = winnr() wincmd w call assert_equal("three", expand("%")) call assert_equal(id3, win_getid()) let nr3 = winnr() call assert_equal('one', getwinvar(id1, 'one')) call assert_equal('two', getwinvar(id2, 'two')) call assert_equal('three', getwinvar(id3, 'three')) tabnext call assert_equal("five", expand("%")) call assert_equal(id5, win_getid()) let nr5 = winnr() wincmd w call assert_equal("four", expand("%")) call assert_equal(id4, win_getid()) let nr4 = winnr() call assert_equal('four', getwinvar(id4, 'four')) call assert_equal('five', getwinvar(id5, 'five')) call settabwinvar(1, id2, 'two', '2') call setwinvar(id4, 'four', '4') tabnext call assert_equal('4', gettabwinvar(2, id4, 'four')) call assert_equal('five', gettabwinvar(2, id5, 'five')) call assert_equal('2', getwinvar(id2, 'two')) exe nr1 . "wincmd w" call assert_equal(id1, win_getid()) exe nr2 . "wincmd w" call assert_equal(id2, win_getid()) exe nr3 . "wincmd w" call assert_equal(id3, win_getid()) tabnext exe nr4 . "wincmd w" call assert_equal(id4, win_getid()) exe nr5 . "wincmd w" call assert_equal(id5, win_getid()) call win_gotoid(id2) call assert_equal("two", expand("%")) call win_gotoid(id4) call assert_equal("four", expand("%")) call win_gotoid(id1) call assert_equal("one", expand("%")) call win_gotoid(id5) call assert_equal("five", expand("%")) call assert_equal(0, win_id2win(9999)) call assert_equal(nr5, win_id2win(id5)) call assert_equal(0, win_id2win(id1)) tabnext call assert_equal(nr1, win_id2win(id1)) call assert_equal([0, 0], win_id2tabwin(9999)) call assert_equal([1, nr2], win_id2tabwin(id2)) call assert_equal([2, nr4], win_id2tabwin(id4)) call assert_equal([], win_findbuf(9999)) call assert_equal([id2], win_findbuf(bufnr2)) call win_gotoid(id5) split call assert_equal(sort([id5, win_getid()]), sort(win_findbuf(bufnr5))) only! endfunc