Mercurial > vim
annotate src/testdir/test_bufline.vim @ 26624:bdf11d8e3df3 v8.2.3841
patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
Commit: https://github.com/vim/vim/commit/71b768509250b12696e8cc90e5902029f1b5433d
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 17 20:15:38 2021 +0000
patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
Problem: Vim9: outdated TODO items, disabled tests that work.
Solution: Remove TODO items, run tests that work now. Check that a dict
item isn't locked.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 17 Dec 2021 21:30:03 +0100 |
parents | a433d0070c45 |
children | 95d6e3c9aa1e |
rev | line source |
---|---|
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1 " Tests for setbufline(), getbufline(), appendbufline(), deletebufline() |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
12568
440d934bd616
patch 8.0.1162: shared script for tests cannot be included twice
Christian Brabandt <cb@256bit.org>
parents:
12351
diff
changeset
|
3 source shared.vim |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
4 source screendump.vim |
17657
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17518
diff
changeset
|
5 source check.vim |
12351
4e61b77cd96f
patch 8.0.1055: bufline test hangs on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
12347
diff
changeset
|
6 |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_setbufline_getbufline() |
23788
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
8 " similar to Test_set_get_bufline() |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 new |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 let b = bufnr('%') |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 hide |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal(0, setbufline(b, 1, ['foo', 'bar'])) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 call assert_equal(['foo'], getbufline(b, 1)) |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
14 call assert_equal(['bar'], getbufline(b, '$')) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 exe "bd!" b |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 call assert_equal([], getbufline(b, 1, 2)) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 split Xtest |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 call setline(1, ['a', 'b', 'c']) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 let b = bufnr('%') |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 wincmd w |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
23 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
24 call assert_equal(1, setbufline(b, 5, 'x')) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 call assert_equal(1, setbufline(b, 5, ['x'])) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
26 call assert_equal(1, setbufline(b, 5, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
27 call assert_equal(1, setbufline(b, 5, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
28 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
29 call assert_equal(1, 'x'->setbufline(bufnr('$') + 1, 1)) |
17994
0dcc2ee838dd
patch 8.1.1993: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
30 call assert_equal(1, ['x']->setbufline(bufnr('$') + 1, 1)) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
31 call assert_equal(1, []->setbufline(bufnr('$') + 1, 1)) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
32 call assert_equal(1, test_null_list()->setbufline(bufnr('$') + 1, 1)) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
33 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
34 call assert_equal(['a', 'b', 'c'], getbufline(b, 1, '$')) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
35 |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 call assert_equal(0, setbufline(b, 4, ['d', 'e'])) |
17857
4935244c1128
patch 8.1.1925: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17837
diff
changeset
|
37 call assert_equal(['c'], b->getbufline(3)) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 call assert_equal(['d'], getbufline(b, 4)) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 call assert_equal(['e'], getbufline(b, 5)) |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 call assert_equal([], getbufline(b, 6)) |
20178
2fb397573541
patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
41 call assert_equal([], getbufline(b, 2, 1)) |
23788
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
42 |
23875
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
43 if has('job') |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
44 call setbufline(b, 2, [function('eval'), #{key: 123}, test_null_job()]) |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
45 call assert_equal(["function('eval')", |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
46 \ "{'key': 123}", |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
47 \ "no process"], |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
48 \ getbufline(b, 2, 4)) |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
49 endif |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 exe "bwipe! " . b |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 endfunc |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
52 |
12794
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
53 func Test_setbufline_getbufline_fold() |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
54 split Xtest |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
55 setlocal foldmethod=expr foldexpr=0 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
56 let b = bufnr('%') |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
57 new |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
58 call assert_equal(0, setbufline(b, 1, ['foo', 'bar'])) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
59 call assert_equal(['foo'], getbufline(b, 1)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
60 call assert_equal(['bar'], getbufline(b, 2)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
61 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
62 exe "bwipe!" b |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
63 bwipe! |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
64 endfunc |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
65 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
66 func Test_setbufline_getbufline_fold_tab() |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
67 split Xtest |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
68 setlocal foldmethod=expr foldexpr=0 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
69 let b = bufnr('%') |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
70 tab new |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
71 call assert_equal(0, setbufline(b, 1, ['foo', 'bar'])) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
72 call assert_equal(['foo'], getbufline(b, 1)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
73 call assert_equal(['bar'], getbufline(b, 2)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
74 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
75 exe "bwipe!" b |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
76 bwipe! |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
77 endfunc |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
78 |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
79 func Test_setline_startup() |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
80 let cmd = GetVimCommand('Xscript') |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
81 if cmd == '' |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
82 return |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
83 endif |
12351
4e61b77cd96f
patch 8.0.1055: bufline test hangs on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
12347
diff
changeset
|
84 call writefile(['call setline(1, "Hello")', 'silent w Xtest', 'q!'], 'Xscript') |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
85 call system(cmd) |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
86 call assert_equal(['Hello'], readfile('Xtest')) |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
87 |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
88 call delete('Xscript') |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
89 call delete('Xtest') |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
90 endfunc |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
91 |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
92 func Test_appendbufline() |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
93 new |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
94 let b = bufnr('%') |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
95 hide |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
96 call assert_equal(0, appendbufline(b, 0, ['foo', 'bar'])) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
97 call assert_equal(['foo'], getbufline(b, 1)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
98 call assert_equal(['bar'], getbufline(b, 2)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
99 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
100 exe "bd!" b |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
101 call assert_equal([], getbufline(b, 1, 2)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
102 |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
103 split Xtest |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
104 call setline(1, ['a', 'b', 'c']) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
105 let b = bufnr('%') |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
106 wincmd w |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
107 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
108 call assert_equal(1, appendbufline(b, -1, 'x')) |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
109 call assert_equal(1, appendbufline(b, -1, ['x'])) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
110 call assert_equal(1, appendbufline(b, -1, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
111 call assert_equal(1, appendbufline(b, -1, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
112 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
113 call assert_equal(1, appendbufline(b, 4, 'x')) |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
114 call assert_equal(1, appendbufline(b, 4, ['x'])) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
115 call assert_equal(1, appendbufline(b, 4, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
116 call assert_equal(1, appendbufline(b, 4, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
117 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
118 call assert_equal(1, appendbufline(1234, 1, 'x')) |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
119 call assert_equal(1, appendbufline(1234, 1, ['x'])) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
120 call assert_equal(1, appendbufline(1234, 1, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
121 call assert_equal(1, appendbufline(1234, 1, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
122 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
123 call assert_equal(0, appendbufline(b, 1, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
124 call assert_equal(0, appendbufline(b, 1, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
125 call assert_equal(1, appendbufline(b, 3, [])) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
126 call assert_equal(1, appendbufline(b, 3, test_null_list())) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
127 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
128 call assert_equal(['a', 'b', 'c'], getbufline(b, 1, '$')) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
129 |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
130 call assert_equal(0, appendbufline(b, 3, ['d', 'e'])) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
131 call assert_equal(['c'], getbufline(b, 3)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
132 call assert_equal(['d'], getbufline(b, 4)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
133 call assert_equal(['e'], getbufline(b, 5)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
134 call assert_equal([], getbufline(b, 6)) |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
135 exe "bwipe! " . b |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
136 endfunc |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
137 |
14826
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
138 func Test_appendbufline_no_E315() |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
139 let after =<< trim [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
140 set stl=%f ls=2 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
141 new |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
142 let buf = bufnr("%") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
143 quit |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
144 vsp |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
145 exec "buffer" buf |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
146 wincmd w |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
147 call appendbufline(buf, 0, "abc") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
148 redraw |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
149 while getbufline(buf, 1)[0] =~ "^\\s*$" |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
150 sleep 10m |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
151 endwhile |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
152 au VimLeavePre * call writefile([v:errmsg], "Xerror") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
153 au VimLeavePre * call writefile(["done"], "Xdone") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
154 qall! |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
155 [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16668
diff
changeset
|
156 |
14826
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
157 if !RunVim([], after, '--clean') |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
158 return |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
159 endif |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
160 call assert_notmatch("^E315:", readfile("Xerror")[0]) |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
161 call assert_equal("done", readfile("Xdone")[0]) |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
162 call delete("Xerror") |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
163 call delete("Xdone") |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
164 endfunc |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
165 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
166 func Test_deletebufline() |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
167 new |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
168 let b = bufnr('%') |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
169 call setline(1, ['aaa', 'bbb', 'ccc']) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
170 hide |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
171 call assert_equal(0, deletebufline(b, 2)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
172 call assert_equal(['aaa', 'ccc'], getbufline(b, 1, 2)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
173 call assert_equal(0, deletebufline(b, 2, 8)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
174 call assert_equal(['aaa'], getbufline(b, 1, 2)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
175 exe "bd!" b |
17837
f71ee7b04f0b
patch 8.1.1915: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
176 call assert_equal(1, b->deletebufline(1)) |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
177 |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
178 call assert_equal(1, deletebufline(-1, 1)) |
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
179 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
180 split Xtest |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
181 call setline(1, ['a', 'b', 'c']) |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
182 call cursor(line('$'), 1) |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
183 let b = bufnr('%') |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
184 wincmd w |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
185 call assert_equal(1, deletebufline(b, 4)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
186 call assert_equal(0, deletebufline(b, 1)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
187 call assert_equal(['b', 'c'], getbufline(b, 1, 2)) |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
188 exe "bwipe! " . b |
23893
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
189 |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
190 edit XbufOne |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
191 let one = bufnr() |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
192 call setline(1, ['a', 'b', 'c']) |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
193 setlocal nomodifiable |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
194 split XbufTwo |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
195 let two = bufnr() |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
196 call assert_fails('call deletebufline(one, 1)', 'E21:') |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
197 call assert_equal(two, bufnr()) |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
198 bwipe! XbufTwo |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
199 bwipe! XbufOne |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
200 endfunc |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
201 |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
202 func Test_appendbufline_redraw() |
17657
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17518
diff
changeset
|
203 CheckScreendump |
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17518
diff
changeset
|
204 |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
205 let lines =<< trim END |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
206 new foo |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
207 let winnr = 'foo'->bufwinnr() |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
208 let buf = bufnr('foo') |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
209 wincmd p |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
210 call appendbufline(buf, '$', range(1,200)) |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
211 exe winnr .. 'wincmd w' |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
212 norm! G |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
213 wincmd p |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
214 call deletebufline(buf, 1, '$') |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
215 call appendbufline(buf, '$', 'Hello Vim world...') |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
216 END |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
217 call writefile(lines, 'XscriptMatchCommon') |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
218 let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 10}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
219 call TermWait(buf) |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
220 call VerifyScreenDump(buf, 'Test_appendbufline_1', {}) |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
221 |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
222 call StopVimInTerminal(buf) |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
223 call delete('XscriptMatchCommon') |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
224 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
20178
diff
changeset
|
225 |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
20178
diff
changeset
|
226 " vim: shiftwidth=2 sts=2 expandtab |