summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_bufwintabinfo.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-12 22:23:25 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-12 22:23:25 +0200
commitb5ae48e9ffd3b8eb6ca4057de11f1bddcde8ce6f (patch)
tree4102b935644caa2544138f3abb1d038523568d94 /src/testdir/test_bufwintabinfo.vim
parentebcccad573a7722e16cf2dd435cc62b61f61d9cc (diff)
patch 7.4.2204v7.4.2204
Problem: It is not easy to get information about buffers, windows and tabpages. Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan Lakshmanan)
Diffstat (limited to 'src/testdir/test_bufwintabinfo.vim')
-rw-r--r--src/testdir/test_bufwintabinfo.vim38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim
new file mode 100644
index 0000000000..236ca30f99
--- /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