| Tests for tab pages |
| |
| STARTTEST |
| :so small.vim |
| :" Simple test for opening and closing a tab page |
| :tabnew |
| :let nr = tabpagenr() |
| :q |
| :call append(line('$'), 'tab page ' . nr) |
| :unlet nr |
| :" |
| :" Open three tab pages and use ":tabdo" |
| :0tabnew |
| :1tabnew |
| :888tabnew |
| :tabdo call append(line('$'), 'this is tab page ' . tabpagenr()) |
| :tabclose! 2 |
| :tabrewind |
| :let line1 = getline('$') |
| :undo |
| :q |
| :tablast |
| :let line2 = getline('$') |
| :q! |
| :call append(line('$'), line1) |
| :call append(line('$'), line2) |
| :unlet line1 line2 |
| :" |
| :" Test for settabvar() and gettabvar() functions. Open a new tab page and |
| :" set 3 variables to a number, string and a list. Verify that the variables |
| :" are correctly set. |
| :tabnew |
| :tabfirst |
| :call settabvar(2, 'val_num', 100) |
| :call settabvar(2, 'val_str', 'SetTabVar test') |
| :call settabvar(2, 'val_list', ['red', 'blue', 'green']) |
| :" |
| :let test_status = 'gettabvar: fail' |
| :if gettabvar(2, 'val_num') == 100 && gettabvar(2, 'val_str') == 'SetTabVar test') && gettabvar(2, 'val_list') == ['red', 'blue', 'green']) |
| : let test_status = 'gettabvar: pass' |
| :endif |
| :call append(line('$'), test_status) |
| :" |
| :tabnext 2 |
| :let test_status = 'settabvar: fail' |
| :if t:val_num == 100 && t:val_str == 'SetTabVar test' && t:val_list == ['red', 'blue', 'green'] |
| : let test_status = 'settabvar: pass' |
| :endif |
| :tabclose |
| :call append(line('$'), test_status) |
| :" |
| :" |
| :/^Results/,$w! test.out |
| :qa! |
| ENDTEST |
| |
| Results: |