Mercurial > vim
annotate src/testdir/test_fold.vim @ 16115:91da8cd462ef v8.1.1062
patch 8.1.1062: quickfix code is repeated
commit https://github.com/vim/vim/commit/a16123a666b4656543614cb5bdaa69ea69f35d30
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Mar 28 20:31:07 2019 +0100
patch 8.1.1062: quickfix code is repeated
Problem: Quickfix code is repeated.
Solution: Define FOR_ALL_QFL_ITEMS(). Move some code to separate functions.
(Yegappan Lakshmanan, closes #4166)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 28 Mar 2019 20:45:05 +0100 |
parents | 31a0127813cb |
children | 9c90cf08cfa8 |
rev | line source |
---|---|
10484
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for folding |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
14317
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
3 source view_util.vim |
14875
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
4 source screendump.vim |
14317
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
5 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
6 func PrepIndent(arg) |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
7 return [a:arg] + repeat(["\t".a:arg], 5) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
8 endfu |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
9 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
10 func Test_address_fold() |
10484
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 new |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call setline(1, ['int FuncName() {/*{{{*/', 1, 2, 3, 4, 5, '}/*}}}*/', |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 \ 'after fold 1', 'after fold 2', 'after fold 3']) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 setl fen fdm=marker |
11219
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
15 " The next commands should all copy the same part of the buffer, |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
16 " regardless of the addressing type, since the part to be copied |
10484
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 " is folded away |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 :1y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 :.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 :.+y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 :.,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 :sil .1,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 " use silent to make E493 go away |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 :sil .+,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 :,y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 :,+y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/','after fold 1'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 " using .+3 as second address should copy the whole folded line + the next 3 |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 " lines |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 :.,+3y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/', |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 \ 'after fold 1', 'after fold 2', 'after fold 3'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 :sil .,-2y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3', '4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 " now test again with folding disabled |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 set nofoldenable |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 :1y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 call assert_equal(['int FuncName() {/*{{{*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 :.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 call assert_equal(['int FuncName() {/*{{{*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 :.+y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 call assert_equal(['1'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 :.,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 call assert_equal(['int FuncName() {/*{{{*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 " use silent to make E493 go away |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 :sil .1,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 call assert_equal(['int FuncName() {/*{{{*/', '1'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 " use silent to make E493 go away |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 :sil .+,.y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 call assert_equal(['int FuncName() {/*{{{*/', '1'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 :,y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 call assert_equal(['int FuncName() {/*{{{*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 :,+y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 call assert_equal(['int FuncName() {/*{{{*/', '1'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 " using .+3 as second address should copy the whole folded line + the next 3 |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 " lines |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 :.,+3y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 call assert_equal(['int FuncName() {/*{{{*/', '1', '2', '3'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 :7 |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 :sil .,-2y |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 call assert_equal(['4', '5', '}/*}}}*/'], getreg(0,1,1)) |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 |
c7de1536780a
commit https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 quit! |
10998
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
72 endfunc |
10486
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
73 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
74 func Test_indent_fold() |
10486
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
75 new |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
76 call setline(1, ['', 'a', ' b', ' c']) |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
77 setl fen fdm=indent |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
78 2 |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
79 norm! >> |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
80 let a=map(range(1,4), 'foldclosed(v:val)') |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
81 call assert_equal([-1,-1,-1,-1], a) |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
82 bw! |
10998
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
83 endfunc |
10486
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
84 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
85 func Test_indent_fold2() |
10486
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
86 new |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
87 call setline(1, ['', '{{{', '}}}', '{{{', '}}}']) |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
88 setl fen fdm=marker |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
89 2 |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
90 norm! >> |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
91 let a=map(range(1,5), 'foldclosed(v:val)') |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
92 call assert_equal([-1,-1,-1,4,4], a) |
99896ee0cac5
commit https://github.com/vim/vim/commit/54b2bfa399017ebae76ed62f21578261d1b55c1f
Christian Brabandt <cb@256bit.org>
parents:
10484
diff
changeset
|
93 bw! |
10998
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
94 endfunc |
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
95 |
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
96 func Test_manual_fold_with_filter() |
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
97 if !executable('cat') |
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
98 return |
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
99 endif |
11036
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
100 for type in ['manual', 'marker'] |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
101 exe 'set foldmethod=' . type |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
102 new |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
103 call setline(1, range(1, 20)) |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
104 4,$fold |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
105 %foldopen |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
106 10,$fold |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
107 %foldopen |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
108 " This filter command should not have an effect |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
109 1,8! cat |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
110 call feedkeys('5ggzdzMGdd', 'xt') |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
111 call assert_equal(['1', '2', '3', '4', '5', '6', '7', '8', '9'], getline(1, '$')) |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
112 |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
113 bwipe! |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
114 set foldmethod& |
9861e4196c43
patch 8.0.0407: filtering folds with marker method not tested
Christian Brabandt <cb@256bit.org>
parents:
10998
diff
changeset
|
115 endfor |
10998
2645a98217fa
patch 8.0.0388: filtering lines changes folds
Christian Brabandt <cb@256bit.org>
parents:
10486
diff
changeset
|
116 endfunc |
11038
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
117 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
118 func Test_indent_fold_with_read() |
11038
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
119 new |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
120 set foldmethod=indent |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
121 call setline(1, repeat(["\<Tab>a"], 4)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
122 for n in range(1, 4) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
123 call assert_equal(1, foldlevel(n)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
124 endfor |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
125 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
126 call writefile(["a", "", "\<Tab>a"], 'Xfile') |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
127 foldopen |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
128 2read Xfile |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
129 %foldclose |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
130 call assert_equal(1, foldlevel(1)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
131 call assert_equal(2, foldclosedend(1)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
132 call assert_equal(0, foldlevel(3)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
133 call assert_equal(0, foldlevel(4)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
134 call assert_equal(1, foldlevel(5)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
135 call assert_equal(7, foldclosedend(5)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
136 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
137 bwipe! |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
138 set foldmethod& |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
139 call delete('Xfile') |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
140 endfunc |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
141 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
142 func Test_combining_folds_indent() |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
143 new |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
144 let one = "\<Tab>a" |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
145 let zero = 'a' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
146 call setline(1, [one, one, zero, zero, zero, one, one, one]) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
147 set foldmethod=indent |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
148 3,5d |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
149 %foldclose |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
150 call assert_equal(5, foldclosedend(1)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
151 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
152 set foldmethod& |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
153 bwipe! |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
154 endfunc |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
155 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
156 func Test_combining_folds_marker() |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
157 new |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
158 call setline(1, ['{{{', '}}}', '', '', '', '{{{', '', '}}}']) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
159 set foldmethod=marker |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
160 3,5d |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
161 %foldclose |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
162 call assert_equal(2, foldclosedend(1)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
163 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
164 set foldmethod& |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
165 bwipe! |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
166 endfunc |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
167 |
11131
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
168 func Test_folds_marker_in_comment() |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
169 new |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
170 call setline(1, ['" foo', 'bar', 'baz']) |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
171 setl fen fdm=marker |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
172 setl com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\" cms=\"%s |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
173 norm! zf2j |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
174 setl nofen |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
175 :1y |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
176 call assert_equal(['" foo{{{'], getreg(0,1,1)) |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
177 :+2y |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
178 call assert_equal(['baz"}}}'], getreg(0,1,1)) |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
179 |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
180 set foldmethod& |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
181 bwipe! |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
182 endfunc |
8d9ecf09183a
patch 8.0.0453: adding fold marker creates new comment
Christian Brabandt <cb@256bit.org>
parents:
11038
diff
changeset
|
183 |
11038
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
184 func s:TestFoldExpr(lnum) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
185 let thisline = getline(a:lnum) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
186 if thisline == 'a' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
187 return 1 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
188 elseif thisline == 'b' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
189 return 0 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
190 elseif thisline == 'c' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
191 return '<1' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
192 elseif thisline == 'd' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
193 return '>1' |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
194 endif |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
195 return 0 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
196 endfunction |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
197 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
198 func Test_update_folds_expr_read() |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
199 new |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
200 call setline(1, ['a', 'a', 'a', 'a', 'a', 'a']) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
201 set foldmethod=expr |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
202 set foldexpr=s:TestFoldExpr(v:lnum) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
203 2 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
204 foldopen |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
205 call writefile(['b', 'b', 'a', 'a', 'd', 'a', 'a', 'c'], 'Xfile') |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
206 read Xfile |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
207 %foldclose |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
208 call assert_equal(2, foldclosedend(1)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
209 call assert_equal(0, foldlevel(3)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
210 call assert_equal(0, foldlevel(4)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
211 call assert_equal(6, foldclosedend(5)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
212 call assert_equal(10, foldclosedend(7)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
213 call assert_equal(14, foldclosedend(11)) |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
214 |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
215 call delete('Xfile') |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
216 bwipe! |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
217 set foldmethod& foldexpr& |
c8b49300c6b7
patch 8.0.0408: updating folds does not always work properly
Christian Brabandt <cb@256bit.org>
parents:
11036
diff
changeset
|
218 endfunc |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
219 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
220 func Check_foldlevels(expected) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
221 call assert_equal(a:expected, map(range(1, line('$')), 'foldlevel(v:val)')) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
222 endfunc |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
223 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
224 func Test_move_folds_around_manual() |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
225 new |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
226 let input = PrepIndent("a") + PrepIndent("b") + PrepIndent("c") |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
227 call setline(1, PrepIndent("a") + PrepIndent("b") + PrepIndent("c")) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
228 let folds=[-1, 2, 2, 2, 2, 2, -1, 8, 8, 8, 8, 8, -1, 14, 14, 14, 14, 14] |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
229 " all folds closed |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
230 set foldenable foldlevel=0 fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
231 " needs a forced redraw |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
232 redraw! |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
233 set fdm=manual |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
234 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
235 call assert_equal(input, getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
236 7,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
237 call assert_equal(PrepIndent("b") + PrepIndent("a") + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
238 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
239 10,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
240 call assert_equal(PrepIndent("a")[1:] + PrepIndent("b") + ["a"] + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
241 call assert_equal([1, 1, 1, 1, 1, -1, 7, 7, 7, 7, 7, -1, -1, 14, 14, 14, 14, 14], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
242 " moving should not close the folds |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
243 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
244 call setline(1, PrepIndent("a") + PrepIndent("b") + PrepIndent("c")) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
245 set fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
246 redraw! |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
247 set fdm=manual |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
248 call cursor(2, 1) |
11156
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
249 %foldopen |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
250 7,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
251 let folds=repeat([-1], 18) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
252 call assert_equal(PrepIndent("b") + PrepIndent("a") + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
253 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
254 norm! zM |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
255 " folds are not corrupted and all have been closed |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
256 call assert_equal([-1, 2, 2, 2, 2, 2, -1, 8, 8, 8, 8, 8, -1, 14, 14, 14, 14, 14], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
257 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
258 call setline(1, ["a", "\tb", "\tc", "\td", "\te"]) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
259 set fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
260 redraw! |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
261 set fdm=manual |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
262 %foldopen |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
263 3m4 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
264 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
265 call assert_equal(["a", "\tb", "\td", "\tc", "\te"], getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
266 call assert_equal([-1, 5, 5, 5, 5], map(range(1, line('$')), 'foldclosedend(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
267 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
268 call setline(1, ["a", "\tb", "\tc", "\td", "\te", "z", "\ty", "\tx", "\tw", "\tv"]) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
269 set fdm=indent foldlevel=0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
270 set fdm=manual |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
271 %foldopen |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
272 3m1 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
273 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
274 call assert_equal(["a", "\tc", "\tb", "\td", "\te", "z", "\ty", "\tx", "\tw", "\tv"], getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
275 call assert_equal(0, foldlevel(2)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
276 call assert_equal(5, foldclosedend(3)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
277 call assert_equal([-1, -1, 3, 3, 3, -1, 7, 7, 7, 7], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
278 2,6m$ |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
279 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
280 call assert_equal(5, foldclosedend(2)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
281 call assert_equal(0, foldlevel(6)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
282 call assert_equal(9, foldclosedend(7)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
283 call assert_equal([-1, 2, 2, 2, 2, -1, 7, 7, 7, -1], map(range(1, line('$')), 'foldclosed(v:val)')) |
12471
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
284 |
11156
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
285 %d |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
286 " Ensure moving around the edges still works. |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
287 call setline(1, PrepIndent("a") + repeat(["a"], 3) + ["\ta"]) |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
288 set fdm=indent foldlevel=0 |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
289 set fdm=manual |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
290 %foldopen |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
291 6m$ |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
292 " The first fold has been truncated to the 5'th line. |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
293 " Second fold has been moved up because the moved line is now below it. |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
294 call Check_foldlevels([0, 1, 1, 1, 1, 0, 0, 0, 1, 0]) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
295 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
296 %delete |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
297 set fdm=indent foldlevel=0 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
298 call setline(1, [ |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
299 \ "a", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
300 \ "\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
301 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
302 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
303 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
304 \ "a", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
305 \ "a"]) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
306 set fdm=manual |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
307 %foldopen! |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
308 4,5m6 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
309 call Check_foldlevels([0, 1, 2, 0, 0, 0, 0]) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
310 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
311 %delete |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
312 set fdm=indent |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
313 call setline(1, [ |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
314 \ "\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
315 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
316 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
317 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
318 \ "\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
319 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
320 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
321 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
322 \ "\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
323 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
324 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
325 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
326 \ "\t\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
327 \ "\ta", |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
328 \ "a"]) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
329 set fdm=manual |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
330 %foldopen! |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
331 13m7 |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
332 call Check_foldlevels([1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 0]) |
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
333 |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
334 bw! |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
335 endfunc |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
336 |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
337 func Test_move_folds_around_indent() |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
338 new |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
339 let input = PrepIndent("a") + PrepIndent("b") + PrepIndent("c") |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
340 call setline(1, PrepIndent("a") + PrepIndent("b") + PrepIndent("c")) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
341 let folds=[-1, 2, 2, 2, 2, 2, -1, 8, 8, 8, 8, 8, -1, 14, 14, 14, 14, 14] |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
342 " all folds closed |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
343 set fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
344 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
345 call assert_equal(input, getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
346 7,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
347 call assert_equal(PrepIndent("b") + PrepIndent("a") + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
348 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
349 10,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
350 call assert_equal(PrepIndent("a")[1:] + PrepIndent("b") + ["a"] + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
351 call assert_equal([1, 1, 1, 1, 1, -1, 7, 7, 7, 7, 7, -1, -1, 14, 14, 14, 14, 14], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
352 " moving should not close the folds |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
353 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
354 call setline(1, PrepIndent("a") + PrepIndent("b") + PrepIndent("c")) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
355 set fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
356 call cursor(2, 1) |
11156
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
357 %foldopen |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
358 7,12m0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
359 let folds=repeat([-1], 18) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
360 call assert_equal(PrepIndent("b") + PrepIndent("a") + PrepIndent("c"), getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
361 call assert_equal(folds, map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
362 norm! zM |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
363 " folds are not corrupted and all have been closed |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
364 call assert_equal([-1, 2, 2, 2, 2, 2, -1, 8, 8, 8, 8, 8, -1, 14, 14, 14, 14, 14], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
365 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
366 call setline(1, ["a", "\tb", "\tc", "\td", "\te"]) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
367 set fdm=indent |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
368 %foldopen |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
369 3m4 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
370 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
371 call assert_equal(["a", "\tb", "\td", "\tc", "\te"], getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
372 call assert_equal([-1, 5, 5, 5, 5], map(range(1, line('$')), 'foldclosedend(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
373 %d |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
374 call setline(1, ["a", "\tb", "\tc", "\td", "\te", "z", "\ty", "\tx", "\tw", "\tv"]) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
375 set fdm=indent foldlevel=0 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
376 %foldopen |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
377 3m1 |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
378 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
379 call assert_equal(["a", "\tc", "\tb", "\td", "\te", "z", "\ty", "\tx", "\tw", "\tv"], getline(1, '$')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
380 call assert_equal(1, foldlevel(2)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
381 call assert_equal(5, foldclosedend(3)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
382 call assert_equal([-1, 2, 2, 2, 2, -1, 7, 7, 7, 7], map(range(1, line('$')), 'foldclosed(v:val)')) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
383 2,6m$ |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
384 %foldclose |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
385 call assert_equal(9, foldclosedend(2)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
386 call assert_equal(1, foldlevel(6)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
387 call assert_equal(9, foldclosedend(7)) |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
388 call assert_equal([-1, 2, 2, 2, 2, 2, 2, 2, 2, -1], map(range(1, line('$')), 'foldclosed(v:val)')) |
11156
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
389 " Ensure moving around the edges still works. |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
390 %d |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
391 call setline(1, PrepIndent("a") + repeat(["a"], 3) + ["\ta"]) |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
392 set fdm=indent foldlevel=0 |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
393 %foldopen |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
394 6m$ |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
395 " The first fold has been truncated to the 5'th line. |
80241603dd50
patch 8.0.0465: off-by-one error in using :move with folding
Christian Brabandt <cb@256bit.org>
parents:
11140
diff
changeset
|
396 " Second fold has been moved up because the moved line is now below it. |
11392
dc2800c3572b
patch 8.0.0581: moving folded text is sometimes not correct
Christian Brabandt <cb@256bit.org>
parents:
11219
diff
changeset
|
397 call Check_foldlevels([0, 1, 1, 1, 1, 0, 0, 0, 1, 1]) |
11140
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
398 bw! |
6b26e044b6f5
patch 8.0.0457: using :move messes up manual folds
Christian Brabandt <cb@256bit.org>
parents:
11131
diff
changeset
|
399 endfunc |
11219
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
400 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
401 func Test_folddoopen_folddoclosed() |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
402 new |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
403 call setline(1, range(1, 9)) |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
404 set foldmethod=manual |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
405 1,3 fold |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
406 6,8 fold |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
407 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
408 " Test without range. |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
409 folddoopen s/$/o/ |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
410 folddoclosed s/$/c/ |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
411 call assert_equal(['1c', '2c', '3c', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
412 \ '4o', '5o', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
413 \ '6c', '7c', '8c', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
414 \ '9o'], getline(1, '$')) |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
415 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
416 " Test with range. |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
417 call setline(1, range(1, 9)) |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
418 1,8 folddoopen s/$/o/ |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
419 4,$ folddoclosed s/$/c/ |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
420 call assert_equal(['1', '2', '3', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
421 \ '4o', '5o', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
422 \ '6c', '7c', '8c', |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
423 \ '9'], getline(1, '$')) |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
424 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
425 set foldmethod& |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
426 bw! |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
427 endfunc |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
428 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
429 func Test_fold_error() |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
430 new |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
431 call setline(1, [1, 2]) |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
432 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
433 for fm in ['indent', 'expr', 'syntax', 'diff'] |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
434 exe 'set foldmethod=' . fm |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
435 call assert_fails('norm zf', 'E350:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
436 call assert_fails('norm zd', 'E351:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
437 call assert_fails('norm zE', 'E352:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
438 endfor |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
439 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
440 set foldmethod=manual |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
441 call assert_fails('norm zd', 'E490:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
442 call assert_fails('norm zo', 'E490:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
443 call assert_fails('3fold', 'E16:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
444 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
445 set foldmethod=marker |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
446 set nomodifiable |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
447 call assert_fails('1,2fold', 'E21:') |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
448 |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
449 set modifiable& |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
450 set foldmethod& |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
451 bw! |
e53609585b76
patch 8.0.0496: insufficient testing for folding
Christian Brabandt <cb@256bit.org>
parents:
11156
diff
changeset
|
452 endfunc |
12471
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
453 |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
454 func Test_foldtext_recursive() |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
455 new |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
456 call setline(1, ['{{{', 'some text', '}}}']) |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
457 setlocal foldenable foldmethod=marker foldtext=foldtextresult(v\:foldstart) |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
458 " This was crashing because of endless recursion. |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
459 2foldclose |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
460 redraw |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
461 call assert_equal(1, foldlevel(2)) |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
462 call assert_equal(1, foldclosed(2)) |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
463 call assert_equal(3, foldclosedend(2)) |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
464 bwipe! |
f6534b99b76f
patch 8.0.1115: crash when using foldtextresult() recursively
Christian Brabandt <cb@256bit.org>
parents:
11392
diff
changeset
|
465 endfunc |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
466 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
467 " Various fold related tests |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
468 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
469 " Basic test if a fold can be created, opened, moving to the end and closed |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
470 func Test_fold_manual() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
471 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
472 set fdm=manual |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
473 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
474 let content = ['1 aa', '2 bb', '3 cc'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
475 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
476 call cursor(1, 1) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
477 normal zf2j |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
478 call assert_equal('1 aa', getline(foldclosed('.'))) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
479 normal zo |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
480 call assert_equal(-1, foldclosed('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
481 normal ]z |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
482 call assert_equal('3 cc', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
483 normal zc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
484 call assert_equal('1 aa', getline(foldclosed('.'))) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
485 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
486 set fdm& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
487 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
488 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
489 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
490 " test folding with markers. |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
491 func Test_fold_marker() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
492 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
493 set fdm=marker fdl=1 fdc=3 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
494 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
495 let content = ['4 dd {{{', '5 ee {{{ }}}', '6 ff }}}'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
496 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
497 call cursor(2, 1) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
498 call assert_equal(2, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
499 normal [z |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
500 call assert_equal(1, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
501 exe "normal jo{{ \<Esc>r{jj" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
502 call assert_equal(1, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
503 normal kYpj |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
504 call assert_equal(0, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
505 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
506 set fdm& fdl& fdc& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
507 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
508 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
509 |
15127
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
510 " test create fold markers with C filetype |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
511 func Test_fold_create_marker_in_C() |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
512 enew! |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
513 set fdm=marker fdl=9 |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
514 set filetype=c |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
515 |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
516 let content = [ |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
517 \ '/*', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
518 \ ' * comment', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
519 \ ' * ', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
520 \ ' *', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
521 \ ' */', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
522 \ 'int f(int* p) {', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
523 \ ' *p = 3;', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
524 \ ' return 0;', |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
525 \ '}' |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
526 \] |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
527 for c in range(len(content) - 1) |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
528 bw! |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
529 call append(0, content) |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
530 call cursor(c + 1, 1) |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
531 norm! zfG |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
532 call assert_equal(content[c] . (c < 4 ? '{{{' : '/*{{{*/'), getline(c + 1)) |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
533 endfor |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
534 |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
535 set fdm& fdl& |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
536 enew! |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
537 endfunc |
31a0127813cb
patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Bram Moolenaar <Bram@vim.org>
parents:
15119
diff
changeset
|
538 |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
539 " test folding with indent |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
540 func Test_fold_indent() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
541 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
542 set fdm=indent sw=2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
543 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
544 let content = ['1 aa', '2 bb', '3 cc'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
545 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
546 call cursor(2, 1) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
547 exe "normal i \<Esc>jI " |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
548 call assert_equal(2, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
549 normal k |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
550 call assert_equal(1, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
551 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
552 set fdm& sw& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
553 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
554 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
555 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
556 " test syntax folding |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
557 func Test_fold_syntax() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
558 if !has('syntax') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
559 return |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
560 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
561 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
562 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
563 set fdm=syntax fdl=0 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
564 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
565 syn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
566 syn region Fd1 start="ee" end="ff" fold contained |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
567 syn region Fd2 start="gg" end="hh" fold contained |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
568 syn region Fd3 start="commentstart" end="commentend" fold contained |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
569 let content = ['3 cc', '4 dd {{{', '5 ee {{{ }}}', '{{{{', '6 ff }}}', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
570 \ '6 ff }}}', '7 gg', '8 hh', '9 ii'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
571 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
572 normal Gzk |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
573 call assert_equal('9 ii', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
574 normal k |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
575 call assert_equal('3 cc', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
576 exe "normal jAcommentstart \<Esc>Acommentend" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
577 set fdl=1 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
578 normal 3j |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
579 call assert_equal('7 gg', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
580 set fdl=0 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
581 exe "normal zO\<C-L>j" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
582 call assert_equal('8 hh', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
583 syn clear Fd1 Fd2 Fd3 Hup |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
584 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
585 set fdm& fdl& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
586 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
587 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
588 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
589 func Flvl() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
590 let l = getline(v:lnum) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
591 if l =~ "bb$" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
592 return 2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
593 elseif l =~ "gg$" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
594 return "s1" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
595 elseif l =~ "ii$" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
596 return ">2" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
597 elseif l =~ "kk$" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
598 return "0" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
599 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
600 return "=" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
601 endfun |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
602 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
603 " test expression folding |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
604 func Test_fold_expr() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
605 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
606 set fdm=expr fde=Flvl() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
607 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
608 let content = ['1 aa', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
609 \ '2 bb', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
610 \ '3 cc', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
611 \ '4 dd {{{commentstart commentend', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
612 \ '5 ee {{{ }}}', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
613 \ '{{{', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
614 \ '6 ff }}}', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
615 \ '6 ff }}}', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
616 \ ' 7 gg', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
617 \ ' 8 hh', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
618 \ '9 ii', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
619 \ 'a jj', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
620 \ 'b kk'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
621 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
622 call cursor(1, 1) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
623 exe "normal /bb$\<CR>" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
624 call assert_equal(2, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
625 exe "normal /hh$\<CR>" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
626 call assert_equal(1, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
627 exe "normal /ii$\<CR>" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
628 call assert_equal(2, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
629 exe "normal /kk$\<CR>" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
630 call assert_equal(0, foldlevel('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
631 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
632 set fdm& fde& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
633 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
634 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
635 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
636 " Bug with fdm=indent and moving folds |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
637 " Moving a fold a few times, messes up the folds below the moved fold. |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
638 " Fixed by 7.4.700 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
639 func Test_fold_move() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
640 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
641 set fdm=indent sw=2 fdl=0 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
642 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
643 let content = ['', '', 'Line1', ' Line2', ' Line3', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
644 \ 'Line4', ' Line5', ' Line6', |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
645 \ 'Line7', ' Line8', ' Line9'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
646 call append(0, content) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
647 normal zM |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
648 call cursor(4, 1) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
649 move 2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
650 move 1 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
651 call assert_equal(7, foldclosed(7)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
652 call assert_equal(8, foldclosedend(7)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
653 call assert_equal(0, foldlevel(9)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
654 call assert_equal(10, foldclosed(10)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
655 call assert_equal(11, foldclosedend(10)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
656 call assert_equal('+-- 2 lines: Line2', foldtextresult(2)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
657 call assert_equal('+-- 2 lines: Line8', foldtextresult(10)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
658 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
659 set fdm& sw& fdl& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
660 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12471
diff
changeset
|
661 endfunc |
12788
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
662 |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
663 " test for patch 7.3.637 |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
664 " Cannot catch the error caused by a foldopen when there is no fold. |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
665 func Test_foldopen_exception() |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
666 enew! |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
667 let a = 'No error caught' |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
668 try |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
669 foldopen |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
670 catch |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
671 let a = matchstr(v:exception,'^[^ ]*') |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
672 endtry |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
673 call assert_equal('Vim(foldopen):E490:', a) |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
674 |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
675 let a = 'No error caught' |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
676 try |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
677 foobar |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
678 catch |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
679 let a = matchstr(v:exception,'^[^ ]*') |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
680 endtry |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
681 call assert_match('E492:', a) |
cb9b2774f21f
patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
682 endfunc |
14317
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
683 |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
684 func Test_fold_last_line_with_pagedown() |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
685 enew! |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
686 set fdm=manual |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
687 |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
688 let expect = '+-- 11 lines: 9---' |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
689 let content = range(1,19) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
690 call append(0, content) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
691 normal dd9G |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
692 normal zfG |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
693 normal zt |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
694 call assert_equal('9', getline(foldclosed('.'))) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
695 call assert_equal('19', getline(foldclosedend('.'))) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
696 call assert_equal(expect, ScreenLines(1, len(expect))[0]) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
697 call feedkeys("\<C-F>", 'xt') |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
698 call assert_equal(expect, ScreenLines(1, len(expect))[0]) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
699 call feedkeys("\<C-F>", 'xt') |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
700 call assert_equal(expect, ScreenLines(1, len(expect))[0]) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
701 call feedkeys("\<C-B>\<C-F>\<C-F>", 'xt') |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
702 call assert_equal(expect, ScreenLines(1, len(expect))[0]) |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
703 |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
704 set fdm& |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
705 enew! |
1bc96dbb5498
patch 8.1.0174: after paging up and down fold line is wrong
Christian Brabandt <cb@256bit.org>
parents:
12788
diff
changeset
|
706 endfunc |
14875
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
707 |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
708 func Test_folds_with_rnu() |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
709 if !CanRunVimInTerminal() |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
710 return |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
711 endif |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
712 |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
713 call writefile([ |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
714 \ 'set fdm=marker rnu foldcolumn=2', |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
715 \ 'call setline(1, ["{{{1", "nline 1", "{{{1", "line 2"])', |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
716 \ ], 'Xtest_folds_with_rnu') |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
717 let buf = RunVimInTerminal('-S Xtest_folds_with_rnu', {}) |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
718 |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
719 call VerifyScreenDump(buf, 'Test_folds_with_rnu_01', {}) |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
720 call term_sendkeys(buf, "j") |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
721 call VerifyScreenDump(buf, 'Test_folds_with_rnu_02', {}) |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
722 |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
723 " clean up |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
724 call StopVimInTerminal(buf) |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
725 call delete('Xtest_folds_with_rnu') |
081f30c50300
patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Christian Brabandt <cb@256bit.org>
parents:
14317
diff
changeset
|
726 endfunc |
15119
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
727 |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
728 func Test_folds_marker_in_comment2() |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
729 new |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
730 call setline(1, ['Lorem ipsum dolor sit', 'Lorem ipsum dolor sit', 'Lorem ipsum dolor sit']) |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
731 setl fen fdm=marker |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
732 setl commentstring=<!--%s--> |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
733 setl comments=s:<!--,m:\ \ \ \ ,e:--> |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
734 norm! zf2j |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
735 setl nofen |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
736 :1y |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
737 call assert_equal(['Lorem ipsum dolor sit<!--{{{-->'], getreg(0,1,1)) |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
738 :+2y |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
739 call assert_equal(['Lorem ipsum dolor sit<!--}}}-->'], getreg(0,1,1)) |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
740 |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
741 set foldmethod& |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
742 bwipe! |
6e9f37bf987b
patch 8.1.0570: 'commentstring' not used when adding fold marker
Bram Moolenaar <Bram@vim.org>
parents:
14875
diff
changeset
|
743 endfunc |