Mercurial > vim
annotate src/testdir/test_cursor_func.vim @ 17647:a944c60c3ef6
Added tag v8.1.1820 for changeset e5397617d6ca64036c8ac046058335285ea45aaa
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 05 Aug 2019 23:15:05 +0200 |
parents | 8a095d343c59 |
children | f71ee7b04f0b |
rev | line source |
---|---|
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for cursor(). |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 func Test_wrong_arguments() |
11183
1c4ebbae41d2
patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents:
11105
diff
changeset
|
4 call assert_fails('call cursor(1. 3)', 'E474:') |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 endfunc |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_move_cursor() |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 new |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 call setline(1, ['aaa', 'bbb', 'ccc', 'ddd']) |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 call cursor([1, 1, 0, 1]) |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal([1, 1, 0, 1], getcurpos()[1:]) |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 call cursor([4, 3, 0, 3]) |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 call assert_equal([4, 3, 0, 3], getcurpos()[1:]) |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 call cursor(2, 2) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
17 call assert_equal([2, 2, 0, 2], getcurpos()[1:]) |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 " line number zero keeps the line number |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 call cursor(0, 1) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
20 call assert_equal([2, 1, 0, 1], getcurpos()[1:]) |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 " col number zero keeps the column |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 call cursor(3, 0) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
23 call assert_equal([3, 1, 0, 1], getcurpos()[1:]) |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 " below last line goes to last line |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 call cursor(9, 1) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
26 call assert_equal([4, 1, 0, 1], getcurpos()[1:]) |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
28 call setline(1, ["\<TAB>"]) |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
29 call cursor(1, 1, 1) |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
30 call assert_equal([1, 1, 1], getcurpos()[1:3]) |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
31 |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
32 call assert_equal(-1, cursor(-1, -1)) |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15492
diff
changeset
|
33 |
7590
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 quit! |
4d9814f9fc39
commit https://github.com/vim/vim/commit/5a46a58eb6e50cb5204909cc2202e3400761263f
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 endfunc |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
36 |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
37 " Very short version of what matchparen does. |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
38 function s:Highlight_Matching_Pair() |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
39 let save_cursor = getcurpos() |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
40 call setpos('.', save_cursor) |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
41 endfunc |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
42 |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
43 func Test_curswant_with_autocommand() |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
44 new |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
45 call setline(1, ['func()', '{', '}', '----']) |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
46 autocmd! CursorMovedI * call s:Highlight_Matching_Pair() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
9121
diff
changeset
|
47 call test_override("char_avail", 1) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
48 exe "normal! 3Ga\<Down>X\<Esc>" |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
9121
diff
changeset
|
49 call test_override("char_avail", 0) |
8011
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
50 call assert_equal('-X---', getline(4)) |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
51 autocmd! CursorMovedI * |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
52 quit! |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
53 endfunc |
26f555e9aab1
commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents:
7590
diff
changeset
|
54 |
15492
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
55 " Tests for behavior of curswant with cursorcolumn/line |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
56 func Test_curswant_with_cursorcolumn() |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
57 new |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
58 call setline(1, ['01234567', '']) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
59 exe "normal! ggf6j" |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
60 call assert_equal(6, winsaveview().curswant) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
61 set cursorcolumn |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
62 call assert_equal(6, winsaveview().curswant) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
63 quit! |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
64 endfunc |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
65 |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
66 func Test_curswant_with_cursorline() |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
67 new |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
68 call setline(1, ['01234567', '']) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
69 exe "normal! ggf6j" |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
70 call assert_equal(6, winsaveview().curswant) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
71 set cursorline |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
72 call assert_equal(6, winsaveview().curswant) |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
73 quit! |
126cdab63a83
patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
11183
diff
changeset
|
74 endfunc |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
75 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
76 func Test_screenpos() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
77 rightbelow new |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
78 rightbelow 20vsplit |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
79 call setline(1, ["\tsome text", "long wrapping line here", "next line"]) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
80 redraw |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
81 let winid = win_getid() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
82 let [winrow, wincol] = win_screenpos(winid) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
83 call assert_equal({'row': winrow, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
84 \ 'col': wincol + 0, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
85 \ 'curscol': wincol + 7, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
86 \ 'endcol': wincol + 7}, screenpos(winid, 1, 1)) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
87 call assert_equal({'row': winrow, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
88 \ 'col': wincol + 13, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
89 \ 'curscol': wincol + 13, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
90 \ 'endcol': wincol + 13}, screenpos(winid, 1, 7)) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
91 call assert_equal({'row': winrow + 2, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
92 \ 'col': wincol + 1, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
93 \ 'curscol': wincol + 1, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
94 \ 'endcol': wincol + 1}, screenpos(winid, 2, 22)) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
95 setlocal number |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
96 call assert_equal({'row': winrow + 3, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
97 \ 'col': wincol + 9, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
98 \ 'curscol': wincol + 9, |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
99 \ 'endcol': wincol + 9}, screenpos(winid, 2, 22)) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
100 close |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
101 bwipe! |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
102 endfunc |