blob: a41cc7d005a6ddb63fed42591ca070a3db8863d9 [file] [log] [blame]
Bram Moolenaar5a46a582016-01-15 15:56:58 +01001" Tests for cursor().
2
3func Test_wrong_arguments()
Bram Moolenaar37175402017-03-18 20:18:45 +01004 call assert_fails('call cursor(1. 3)', 'E474:')
Bram Moolenaar5a46a582016-01-15 15:56:58 +01005endfunc
6
7func Test_move_cursor()
8 new
9 call setline(1, ['aaa', 'bbb', 'ccc', 'ddd'])
10
11 call cursor([1, 1, 0, 1])
12 call assert_equal([1, 1, 0, 1], getcurpos()[1:])
13 call cursor([4, 3, 0, 3])
14 call assert_equal([4, 3, 0, 3], getcurpos()[1:])
15
16 call cursor(2, 2)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010017 call assert_equal([2, 2, 0, 2], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010018 " line number zero keeps the line number
19 call cursor(0, 1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010020 call assert_equal([2, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010021 " col number zero keeps the column
22 call cursor(3, 0)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010023 call assert_equal([3, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010024 " below last line goes to last line
25 call cursor(9, 1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010026 call assert_equal([4, 1, 0, 1], getcurpos()[1:])
Bram Moolenaar5a46a582016-01-15 15:56:58 +010027
28 quit!
29endfunc
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010030
31" Very short version of what matchparen does.
32function s:Highlight_Matching_Pair()
33 let save_cursor = getcurpos()
34 call setpos('.', save_cursor)
35endfunc
36
37func Test_curswant_with_autocommand()
38 new
39 call setline(1, ['func()', '{', '}', '----'])
40 autocmd! CursorMovedI * call s:Highlight_Matching_Pair()
Bram Moolenaareb992cb2017-03-09 18:20:16 +010041 call test_override("char_avail", 1)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010042 exe "normal! 3Ga\<Down>X\<Esc>"
Bram Moolenaareb992cb2017-03-09 18:20:16 +010043 call test_override("char_avail", 0)
Bram Moolenaar2ab375e2016-02-10 22:23:06 +010044 call assert_equal('-X---', getline(4))
45 autocmd! CursorMovedI *
46 quit!
47endfunc
48
Bram Moolenaar177ab9e2019-01-15 21:12:57 +010049" Tests for behavior of curswant with cursorcolumn/line
50func Test_curswant_with_cursorcolumn()
51 new
52 call setline(1, ['01234567', ''])
53 exe "normal! ggf6j"
54 call assert_equal(6, winsaveview().curswant)
55 set cursorcolumn
56 call assert_equal(6, winsaveview().curswant)
57 quit!
58endfunc
59
60func Test_curswant_with_cursorline()
61 new
62 call setline(1, ['01234567', ''])
63 exe "normal! ggf6j"
64 call assert_equal(6, winsaveview().curswant)
65 set cursorline
66 call assert_equal(6, winsaveview().curswant)
67 quit!
68endfunc