Mercurial > vim
annotate src/testdir/test_marks.vim @ 21487:5c92877092f9 v8.2.1294
patch 8.2.1294: Vim9: error when using vim9script in TextYankPost
Commit: https://github.com/vim/vim/commit/37394ff75270877a032422abcd079a6732a29730
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 25 19:38:18 2020 +0200
patch 8.2.1294: Vim9: error when using vim9script in TextYankPost
Problem: Vim9: error when using vim9script in TextYankPost.
Solution: Use EX_LOCKOK instead of the EX_CMDWIN flag for command that can
be used when text is locked. (closes #6529)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 25 Jul 2020 19:45:05 +0200 |
parents | d387121083a4 |
children | 08940efa6b4e |
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 |
21403
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
108 exe "norm! GVgg\<Esc>G" |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
109 w! |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
110 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
111 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
|
112 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
|
113 call assert_equal(9, len(a)) |
21403
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
114 call assert_equal(['mark line col file/text', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
115 \ " ' 2 0 bbb", |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
116 \ ' a 1 0 aaa', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
117 \ ' B 2 2 bbb', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
118 \ ' D 2 0 Xtwo', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
119 \ ' " 1 0 aaa', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
120 \ ' [ 1 0 aaa', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
121 \ ' ] 2 0 bbb', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
122 \ ' . 2 0 bbb'], a) |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
123 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
124 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
|
125 let a = split(execute('marks'), "\n") |
21403
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
126 call assert_equal(11, len(a)) |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
127 call assert_equal(['mark line col file/text', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
128 \ " ' 1 0 ccc", |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
129 \ ' c 1 2 ccc', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
130 \ ' B 2 2 Xone', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
131 \ ' D 2 0 ddd', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
132 \ ' " 2 0 ddd', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
133 \ ' [ 1 0 ccc', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
134 \ ' ] 2 0 ddd', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
135 \ ' . 2 0 ddd', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
136 \ ' < 1 0 ccc', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
137 \ ' > 2 0 ddd'], a) |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
138 norm! Gdd |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
139 w! |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
140 let a = split(execute('marks <>'), "\n") |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
141 call assert_equal(3, len(a)) |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
142 call assert_equal(['mark line col file/text', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
143 \ ' < 1 0 ccc', |
d387121083a4
patch 8.2.1252: ":marks" may show '< and '> mixed up
Bram Moolenaar <Bram@vim.org>
parents:
20635
diff
changeset
|
144 \ ' > 2 0 -invalid-'], a) |
12612
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
145 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
146 b Xone |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
153 b Xtwo |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
154 delmarks cD |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
155 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
|
156 |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
157 call delete('Xone') |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
158 call delete('Xtwo') |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
159 %bwipe |
3b600d16d9cb
patch 8.0.1184: the :marks command is not tested
Christian Brabandt <cb@256bit.org>
parents:
10730
diff
changeset
|
160 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
|
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 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
|
163 new Xone |
14319
f7e80dbb4f00
patch 8.1.0175: marks test fails in very wide window
Christian Brabandt <cb@256bit.org>
parents:
14305
diff
changeset
|
164 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
|
165 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
|
166 |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
167 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
|
168 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
|
169 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
|
170 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
|
171 |
8a4c0ab88201
patch 8.1.0168: output of :marks is too short with multi-byte chars
Christian Brabandt <cb@256bit.org>
parents:
12612
diff
changeset
|
172 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
|
173 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
|
174 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
175 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
|
176 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
|
177 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
|
178 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
|
179 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
|
180 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
|
181 |
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 " 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
|
183 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
|
184 |
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
|
185 " 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
|
186 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
|
187 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
|
188 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
|
189 |
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
|
190 " 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
|
191 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
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 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
|
198 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
|
199 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
|
200 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
|
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 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
|
203 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
|
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 " 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
|
206 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
|
207 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
|
208 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
|
209 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
|
210 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
|
211 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
212 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
|
213 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
|
214 |
6839f99d2269
patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
215 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
|
216 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
|
217 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
|
218 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
|
219 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
|
220 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
221 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
|
222 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
|
223 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
|
224 |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
225 " 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
|
226 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
|
227 new |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
228 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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
237 bwipe! |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
238 endfunc |
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
239 |
19407
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
240 " 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
|
241 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
|
242 new |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
243 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
|
244 1,3kr |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
245 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
|
246 close! |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
247 endfunc |
2f4be7ca1b1b
patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19121
diff
changeset
|
248 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
249 " 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
|
250 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
|
251 new Xone |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
252 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
|
253 norm! G$mB |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
254 w! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
255 new Xtwo |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
256 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
|
257 norm! GmD |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
258 w! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
259 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
260 enew |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
261 normal! `B |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
262 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
|
263 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
|
264 normal! 'D |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
265 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
|
266 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
|
267 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
268 call delete('Xone') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
269 call delete('Xtwo') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
270 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19407
diff
changeset
|
271 |
20615
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
272 " 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
|
273 func Test_getmarklist() |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
274 new |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
275 " global marks |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
276 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
|
277 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
|
278 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
|
279 mark A |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
280 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
|
281 normal mN |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
282 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
|
283 \ {'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
|
284 \ getmarklist()) |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
285 " buffer local marks |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
286 delmarks! |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
287 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
|
288 \ {'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
|
289 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
|
290 normal mr |
20635
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
291 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
|
292 \ bufnr()->getmarklist()[0]) |
3e36a51ff152
patch 8.2.0871: cannot use getmarklist() as a method
Bram Moolenaar <Bram@vim.org>
parents:
20615
diff
changeset
|
293 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
|
294 close! |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
295 endfunc |
8eed1e9389bb
patch 8.2.0861: cannot easily get all the current marks
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
296 |
18784
7b57a80f70f6
patch 8.1.2381: not all register related code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
15736
diff
changeset
|
297 " vim: shiftwidth=2 sts=2 expandtab |