Mercurial > vim
annotate src/testdir/test_marks.vim @ 21006:ae185f35e256 v8.2.1054
patch 8.2.1054: not so easy to pass a lua function to Vim
Commit: https://github.com/vim/vim/commit/801ab069341c8652680d63c174530fd4feb2911e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 25 19:27:56 2020 +0200
patch 8.2.1054: not so easy to pass a lua function to Vim
Problem: Not so easy to pass a lua function to Vim.
Solution: Convert a Lua function and closure to a Vim funcref. (Prabir
Shrestha, closes #6246)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 25 Jun 2020 19:30:21 +0200 |
parents | 3e36a51ff152 |
children | d387121083a4 |
rev | line source |
---|---|
10068
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " Test that a deleted mark is restored after delete-undo-redo-undo. |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14319
diff
changeset
|
3 func Test_Restore_DelMark() |
10068
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 enew! |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 call append(0, [" textline A", " textline B", " textline C"]) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 normal! 2gg |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 set nocp viminfo+=nviminfo |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 exe "normal! i\<C-G>u\<Esc>" |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 exe "normal! maddu\<C-R>u" |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 let pos = getpos("'a") |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 call assert_equal(2, pos[1]) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal(1, pos[2]) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 enew! |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14319
diff
changeset
|
14 endfunc |
10068
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 " Test that CTRL-A and CTRL-X updates last changed mark '[, ']. |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14319
diff
changeset
|
17 func Test_Incr_Marks() |
10068
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 enew! |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 call append(0, ["123 123 123", "123 123 123", "123 123 123"]) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 normal! gg |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 execute "normal! \<C-A>`[v`]rAjwvjw\<C-X>`[v`]rX" |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 call assert_equal("AAA 123 123", getline(1)) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call assert_equal("123 XXXXXXX", getline(2)) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 call assert_equal("XXX 123 123", getline(3)) |
c577c6a2e88b
commit https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 enew! |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14319
diff
changeset
|
26 endfunc |
10730
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
27 |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
28 func Test_setpos() |
19121
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
29 new Xone |
10730
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
30 let onebuf = bufnr('%') |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
31 let onewin = win_getid() |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
32 call setline(1, ['aaa', 'bbb', 'ccc']) |
19121
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
33 new Xtwo |
10730
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
34 let twobuf = bufnr('%') |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
35 let twowin = win_getid() |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
36 call setline(1, ['aaa', 'bbb', 'ccc']) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
37 |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
38 " for the cursor the buffer number is ignored |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
39 call setpos(".", [0, 2, 1, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
40 call assert_equal([0, 2, 1, 0], getpos(".")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
41 call setpos(".", [onebuf, 3, 3, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
42 call assert_equal([0, 3, 3, 0], getpos(".")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
43 |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
44 call setpos("''", [0, 1, 3, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
45 call assert_equal([0, 1, 3, 0], getpos("''")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
46 call setpos("''", [onebuf, 2, 2, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
47 call assert_equal([0, 2, 2, 0], getpos("''")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
48 |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
49 " buffer-local marks |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
50 for mark in ["'a", "'\"", "'[", "']", "'<", "'>"] |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
51 call win_gotoid(twowin) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
52 call setpos(mark, [0, 2, 1, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
53 call assert_equal([0, 2, 1, 0], getpos(mark), "for mark " . mark) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
54 call setpos(mark, [onebuf, 1, 3, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
55 call win_gotoid(onewin) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
56 call assert_equal([0, 1, 3, 0], getpos(mark), "for mark " . mark) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
57 endfor |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
58 |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
59 " global marks |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
60 call win_gotoid(twowin) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
61 call setpos("'N", [0, 2, 1, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
62 call assert_equal([twobuf, 2, 1, 0], getpos("'N")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
63 call setpos("'N", [onebuf, 1, 3, 0]) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
64 call assert_equal([onebuf, 1, 3, 0], getpos("'N")) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
65 |
19121
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
66 " try invalid column and check virtcol() |
10730
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
67 call win_gotoid(onewin) |
19121
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
68 call setpos("'a", [0, 1, 2, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
69 call assert_equal([0, 1, 2, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
70 call setpos("'a", [0, 1, -5, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
71 call assert_equal([0, 1, 2, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
72 call setpos("'a", [0, 1, 0, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
73 call assert_equal([0, 1, 1, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
74 call setpos("'a", [0, 1, 4, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
75 call assert_equal([0, 1, 4, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
76 call assert_equal(4, virtcol("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
77 call setpos("'a", [0, 1, 5, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
78 call assert_equal([0, 1, 5, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
79 call assert_equal(4, virtcol("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
80 call setpos("'a", [0, 1, 21341234, 0]) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
81 call assert_equal([0, 1, 21341234, 0], getpos("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
82 call assert_equal(4, virtcol("'a")) |
a51fee786930
patch 8.2.0120: virtcol() does not check arguments to be valid
Bram Moolenaar <Bram@vim.org>
parents:
18979
diff
changeset
|
83 |
19724
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
84 " Test with invalid buffer number, line number and column number |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
85 call cursor(2, 2) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
86 call setpos('.', [-1, 1, 1, 0]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
87 call assert_equal([2, 2], [line('.'), col('.')]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
88 call setpos('.', [0, -1, 1, 0]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
89 call assert_equal([2, 2], [line('.'), col('.')]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
90 call setpos('.', [0, 1, -1, 0]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
91 call assert_equal([2, 2], [line('.'), col('.')]) |
b3e93a05c3ca
patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
92 |
19783
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19724
diff
changeset
|
93 call assert_fails("call setpos('ab', [0, 1, 1, 0])", 'E474:') |
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19724
diff
changeset
|
94 |
10730
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
95 bwipe! |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
96 call win_gotoid(twowin) |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
97 bwipe! |
44e9340dc604
patch 8.0.0255: setpos() does not use the buffer argument for all marks
Christian Brabandt <cb@256bit.org>
parents:
10068
diff
changeset
|
98 endfunc |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
99 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
100 func Test_marks_cmd() |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
101 new Xone |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
102 call setline(1, ['aaa', 'bbb']) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
103 norm! maG$mB |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
104 w! |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
105 new Xtwo |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
106 call setline(1, ['ccc', 'ddd']) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
107 norm! $mcGmD |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
108 w! |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
109 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
110 b Xone |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
111 let a = split(execute('marks'), "\n") |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
112 call assert_equal(9, len(a)) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
113 call assert_equal('mark line col file/text', a[0]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
114 call assert_equal(" ' 2 0 bbb", a[1]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
115 call assert_equal(' a 1 0 aaa', a[2]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
116 call assert_equal(' B 2 2 bbb', a[3]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
117 call assert_equal(' D 2 0 Xtwo', a[4]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
118 call assert_equal(' " 1 0 aaa', a[5]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
119 call assert_equal(' [ 1 0 aaa', a[6]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
120 call assert_equal(' ] 2 0 bbb', a[7]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
121 call assert_equal(' . 2 0 bbb', a[8]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
122 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
123 b Xtwo |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
124 let a = split(execute('marks'), "\n") |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
125 call assert_equal(9, len(a)) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
126 call assert_equal('mark line col file/text', a[0]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
127 call assert_equal(" ' 1 0 ccc", a[1]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
128 call assert_equal(' c 1 2 ccc', a[2]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
129 call assert_equal(' B 2 2 Xone', a[3]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
130 call assert_equal(' D 2 0 ddd', a[4]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
131 call assert_equal(' " 2 0 ddd', a[5]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
132 call assert_equal(' [ 1 0 ccc', a[6]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
133 call assert_equal(' ] 2 0 ddd', a[7]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
134 call assert_equal(' . 2 0 ddd', a[8]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
135 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
136 b Xone |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
137 delmarks aB |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
138 let a = split(execute('marks aBcD'), "\n") |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
139 call assert_equal(2, len(a)) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
140 call assert_equal('mark line col file/text', a[0]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
141 call assert_equal(' D 2 0 Xtwo', a[1]) |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
142 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
143 b Xtwo |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
144 delmarks cD |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
145 call assert_fails('marks aBcD', 'E283:') |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
146 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
147 call delete('Xone') |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
148 call delete('Xtwo') |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
149 %bwipe |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
150 endfunc |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
151 |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
152 func Test_marks_cmd_multibyte() |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
153 new Xone |
14319
f7e80dbb4f00
patch 8.1.0175: marks test fails in very wide window
Christian Brabandt <cb@256bit.org>
parents:
14305
diff
changeset
|
154 call setline(1, [repeat('á', &columns)]) |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
155 norm! ma |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
156 |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
157 let a = split(execute('marks a'), "\n") |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
158 call assert_equal(2, len(a)) |
14319
f7e80dbb4f00
patch 8.1.0175: marks test fails in very wide window
Christian Brabandt <cb@256bit.org>
parents:
14305
diff
changeset
|
159 let expected = ' a 1 0 ' . repeat('á', &columns - 16) |
14305
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
160 call assert_equal(expected, a[1]) |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
161 |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
162 bwipe! |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
163 endfunc |
15736
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
164 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
165 func Test_delmarks() |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
166 new |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
167 norm mx |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
168 norm `x |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
169 delmarks x |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
170 call assert_fails('norm `x', 'E20:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
171 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
172 " Deleting an already deleted mark should not fail. |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
173 delmarks x |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
174 |
18979
de2d1820215a
patch 8.2.0050: after deleting a file mark it is still in viminfo
Bram Moolenaar <Bram@vim.org>
parents:
18784
diff
changeset
|
175 " getpos() should return all zeros after deleting a filemark. |
de2d1820215a
patch 8.2.0050: after deleting a file mark it is still in viminfo
Bram Moolenaar <Bram@vim.org>
parents:
18784
diff
changeset
|
176 norm mA |
de2d1820215a
patch 8.2.0050: after deleting a file mark it is still in viminfo
Bram Moolenaar <Bram@vim.org>
parents:
18784
diff
changeset
|
177 delmarks A |
de2d1820215a
patch 8.2.0050: after deleting a file mark it is still in viminfo
Bram Moolenaar <Bram@vim.org>
parents:
18784
diff
changeset
|
178 call assert_equal([0, 0, 0, 0], getpos("'A")) |
de2d1820215a
patch 8.2.0050: after deleting a file mark it is still in viminfo
Bram Moolenaar <Bram@vim.org>
parents:
18784
diff
changeset
|
179 |
15736
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
180 " Test deleting a range of marks. |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
181 norm ma |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
182 norm mb |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
183 norm mc |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
184 norm mz |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
185 delmarks b-z |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
186 norm `a |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
187 call assert_fails('norm `b', 'E20:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
188 call assert_fails('norm `c', 'E20:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
189 call assert_fails('norm `z', 'E20:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
190 call assert_fails('delmarks z-b', 'E475:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
191 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
192 call assert_fails('delmarks', 'E471:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
193 call assert_fails('delmarks /', 'E475:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
194 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
195 " Test delmarks! |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
196 norm mx |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
197 norm `x |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
198 delmarks! |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
199 call assert_fails('norm `x', 'E20:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
200 call assert_fails('delmarks! x', 'E474:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
201 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
202 bwipe! |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
203 endfunc |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
204 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
205 func Test_mark_error() |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
206 call assert_fails('mark', 'E471:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
207 call assert_fails('mark xx', 'E488:') |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
208 call assert_fails('mark _', 'E191:') |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
209 call assert_beeps('normal! m~') |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
210 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
211 call setpos("'k", [0, 100, 1, 0]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
212 call assert_fails("normal 'k", 'E19:') |
15736
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
213 endfunc |
18784
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
214 |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
215 " Test for :lockmarks when pasting content |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
216 func Test_lockmarks_with_put() |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
217 new |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
218 call append(0, repeat(['sky is blue'], 4)) |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
219 normal gg |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
220 1,2yank r |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
221 put r |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
222 normal G |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
223 lockmarks put r |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
224 call assert_equal(2, line("'[")) |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
225 call assert_equal(3, line("']")) |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
226 |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
227 bwipe! |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
228 endfunc |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
229 |
19407
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
230 " Test for :k command to set a mark |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
231 func Test_marks_k_cmd() |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
232 new |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
233 call setline(1, ['foo', 'bar', 'baz', 'qux']) |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
234 1,3kr |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
235 call assert_equal([0, 3, 1, 0], getpos("'r")) |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
236 close! |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
237 endfunc |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
238 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
239 " Test for file marks (A-Z) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
240 func Test_file_mark() |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
241 new Xone |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
242 call setline(1, ['aaa', 'bbb']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
243 norm! G$mB |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
244 w! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
245 new Xtwo |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
246 call setline(1, ['ccc', 'ddd']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
247 norm! GmD |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
248 w! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
249 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
250 enew |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
251 normal! `B |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
252 call assert_equal('Xone', bufname()) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
253 call assert_equal([2, 3], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
254 normal! 'D |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
255 call assert_equal('Xtwo', bufname()) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
256 call assert_equal([2, 1], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
257 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
258 call delete('Xone') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
259 call delete('Xtwo') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
260 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
261 |
20615
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
262 " Test for the getmarklist() function |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
263 func Test_getmarklist() |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
264 new |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
265 " global marks |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
266 delmarks A-Z 0-9 \" ^.[] |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
267 call assert_equal([], getmarklist()) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
268 call setline(1, ['one', 'two', 'three']) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
269 mark A |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
270 call cursor(3, 5) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
271 normal mN |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
272 call assert_equal([{'file' : '', 'mark' : "'A", 'pos' : [bufnr(), 1, 1, 0]}, |
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
273 \ {'file' : '', 'mark' : "'N", 'pos' : [bufnr(), 3, 5, 0]}], |
20615
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
274 \ getmarklist()) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
275 " buffer local marks |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
276 delmarks! |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
277 call assert_equal([{'mark' : "''", 'pos' : [bufnr(), 1, 1, 0]}, |
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
278 \ {'mark' : "'\"", 'pos' : [bufnr(), 1, 1, 0]}], getmarklist(bufnr())) |
20615
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
279 call cursor(2, 2) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
280 normal mr |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
281 call assert_equal({'mark' : "'r", 'pos' : [bufnr(), 2, 2, 0]}, |
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
282 \ bufnr()->getmarklist()[0]) |
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
283 call assert_equal([], {}->getmarklist()) |
20615
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
284 close! |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
285 endfunc |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
286 |
18784
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
287 " vim: shiftwidth=2 sts=2 expandtab |