diff src/testdir/test_bufwintabinfo.vim @ 9858:3e96d9ed2ca1 v7.4.2204

commit https://github.com/vim/vim/commit/b5ae48e9ffd3b8eb6ca4057de11f1bddcde8ce6f Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 12 22:23:25 2016 +0200 patch 7.4.2204 Problem: It is not easy to get information about buffers, windows and tabpages. Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Fri, 12 Aug 2016 22:30:07 +0200
parents
children 4b53f6be10c0
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_bufwintabinfo.vim
@@ -0,0 +1,38 @@
+" Tests for the getbufinfo(), getwininfo() and gettabinfo() functions
+
+function Test_getbufwintabinfo()
+    1,$bwipeout
+    edit Xtestfile1
+    edit Xtestfile2
+    let buflist = getbufinfo()
+    call assert_equal(2, len(buflist))
+    call assert_match('Xtestfile1', buflist[0].name)
+    call assert_match('Xtestfile2', getbufinfo('Xtestfile2')[0].name)
+    call assert_equal([], getbufinfo(2016))
+    edit Xtestfile1
+    hide edit Xtestfile2
+    hide enew
+    call assert_equal(3, len(getbufinfo({'bufloaded':1})))
+
+    only
+    let w1_id = win_getid()
+    new
+    let w2_id = win_getid()
+    tabnew | let w3_id = win_getid()
+    new | let w4_id = win_getid()
+    new | let w5_id = win_getid()
+    tabfirst
+    let winlist = getwininfo()
+    call assert_equal(5, len(winlist))
+    call assert_equal(2, winlist[3].tpnr)
+    let winfo = getwininfo(w5_id)[0]
+    call assert_equal(2, winfo.tpnr)
+    call assert_equal([], getwininfo(3))
+
+    let tablist = gettabinfo()
+    call assert_equal(2, len(tablist))
+    call assert_equal(3, len(tablist[1].windows))
+    call assert_equal([], gettabinfo(3))
+
+    tabonly | only
+endfunction