1" Test using the window ID.
2
3func Test_win_getid()
4  edit one
5  let id1 = win_getid()
6  split two
7  let id2 = win_getid()
8  split three
9  let id3 = win_getid()
10  tabnew
11  edit four
12  let id4 = win_getid()
13  split five
14  let id5 = win_getid()
15  tabnext
16
17  wincmd w
18  call assert_equal("two", expand("%"))
19  call assert_equal(id2, win_getid())
20  let nr2 = winnr()
21  wincmd w
22  call assert_equal("one", expand("%"))
23  call assert_equal(id1, win_getid())
24  let nr1 = winnr()
25  wincmd w
26  call assert_equal("three", expand("%"))
27  call assert_equal(id3, win_getid())
28  let nr3 = winnr()
29  tabnext
30  call assert_equal("five", expand("%"))
31  call assert_equal(id5, win_getid())
32  let nr5 = winnr()
33  wincmd w
34  call assert_equal("four", expand("%"))
35  call assert_equal(id4, win_getid())
36  let nr4 = winnr()
37  tabnext
38
39  exe nr1 . "wincmd w"
40  call assert_equal(id1, win_getid())
41  exe nr2 . "wincmd w"
42  call assert_equal(id2, win_getid())
43  exe nr3 . "wincmd w"
44  call assert_equal(id3, win_getid())
45  tabnext
46  exe nr4 . "wincmd w"
47  call assert_equal(id4, win_getid())
48  exe nr5 . "wincmd w"
49  call assert_equal(id5, win_getid())
50
51  call win_gotoid(id2)
52  call assert_equal("two", expand("%"))
53  call win_gotoid(id4)
54  call assert_equal("four", expand("%"))
55  call win_gotoid(id1)
56  call assert_equal("one", expand("%"))
57  call win_gotoid(id5)
58  call assert_equal("five", expand("%"))
59
60  call assert_equal(0, win_id2win(9999))
61  call assert_equal(nr5, win_id2win(id5))
62  call assert_equal(0, win_id2win(id1))
63  tabnext
64  call assert_equal(nr1, win_id2win(id1))
65
66  call assert_equal([0, 0], win_id2tabwin(9999))
67  call assert_equal([1, nr2], win_id2tabwin(id2))
68  call assert_equal([2, nr4], win_id2tabwin(id4))
69
70  only!
71endfunc
72