blob: 4b2a9b8f8071a3064b397bfbf7eba5814bb2db28 [file] [log] [blame]
Bram Moolenaar5a46a582016-01-15 15:56:58 +01001" Tests for cursor().
2
3func Test_wrong_arguments()
4 try
5 call cursor(1. 3)
6 " not reached
7 call assert_false(1)
8 catch
9 call assert_exception('E474:')
10 endtry
11endfunc
12
13func Test_move_cursor()
14 new
15 call setline(1, ['aaa', 'bbb', 'ccc', 'ddd'])
16
17 call cursor([1, 1, 0, 1])
18 call assert_equal([1, 1, 0, 1], getcurpos()[1:])
19 call cursor([4, 3, 0, 3])
20 call assert_equal([4, 3, 0, 3], getcurpos()[1:])
21
22 call cursor(2, 2)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010023 call assert_equal([2, 2, 0, 2], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010024 " line number zero keeps the line number
25 call cursor(0, 1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010026 call assert_equal([2, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010027 " col number zero keeps the column
28 call cursor(3, 0)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010029 call assert_equal([3, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010030 " below last line goes to last line
31 call cursor(9, 1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010032 call assert_equal([4, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010033
34 quit!
35endfunc
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010036
37" Very short version of what matchparen does.
38function s:Highlight_Matching_Pair()
39 let save_cursor = getcurpos()
40 call setpos('.', save_cursor)
41endfunc
42
43func Test_curswant_with_autocommand()
44 new
45 call setline(1, ['func()', '{', '}', '----'])
46 autocmd! CursorMovedI * call s:Highlight_Matching_Pair()
Bram Moolenaar8e8df252016-05-25 21:23:21 +020047 call test_disable_char_avail(1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010048 exe "normal! 3Ga\<Down>X\<Esc>"
Bram Moolenaar8e8df252016-05-25 21:23:21 +020049 call test_disable_char_avail(0)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010050 call assert_equal('-X---', getline(4))
51 autocmd! CursorMovedI *
52 quit!
53endfunc
54