Mercurial > vim
annotate src/testdir/test_bufline.vim @ 32288:8201b0fcea02 v9.0.1476
patch 9.0.1476: lines put in non-current window are not displayed
Commit: https://github.com/vim/vim/commit/e7f05a8780426dc7af247419c6d02d5f1e896689
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 22 15:35:28 2023 +0100
patch 9.0.1476: lines put in non-current window are not displayed
Problem: Lines put in non-current window are not displayed. (Marius
Gedminas)
Solution: Don't increment the topline when inserting just above it.
(closes #12212)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 22 Apr 2023 16:45:05 +0200 |
parents | 87ff5e71d3c2 |
children |
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)) |
31164
7831da568864
patch 9.0.0916: getbufline() is inefficient for getting a single line
Bram Moolenaar <Bram@vim.org>
parents:
31160
diff
changeset
|
14 call assert_equal('foo', getbufoneline(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
|
15 call assert_equal(['bar'], getbufline(b, '$')) |
31164
7831da568864
patch 9.0.0916: getbufline() is inefficient for getting a single line
Bram Moolenaar <Bram@vim.org>
parents:
31160
diff
changeset
|
16 call assert_equal('bar', getbufoneline(b, '$')) |
12319
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(['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
|
18 exe "bd!" b |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 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
|
20 |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 split Xtest |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 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
|
23 let b = bufnr('%') |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 wincmd w |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
25 |
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, 'x')) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 call assert_equal(1, setbufline(b, 5, ['x'])) |
31004
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
28 call assert_equal(0, setbufline(b, 5, [])) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
29 call assert_equal(0, setbufline(b, 5, test_null_list())) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
30 |
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, '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
|
32 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
|
33 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
|
34 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
|
35 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
36 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
|
37 |
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(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
|
39 call assert_equal(['c'], b->getbufline(3)) |
31164
7831da568864
patch 9.0.0916: getbufline() is inefficient for getting a single line
Bram Moolenaar <Bram@vim.org>
parents:
31160
diff
changeset
|
40 call assert_equal('c', b->getbufoneline(3)) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 call assert_equal(['d'], getbufline(b, 4)) |
31164
7831da568864
patch 9.0.0916: getbufline() is inefficient for getting a single line
Bram Moolenaar <Bram@vim.org>
parents:
31160
diff
changeset
|
42 call assert_equal('d', getbufoneline(b, 4)) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 call assert_equal(['e'], getbufline(b, 5)) |
31164
7831da568864
patch 9.0.0916: getbufline() is inefficient for getting a single line
Bram Moolenaar <Bram@vim.org>
parents:
31160
diff
changeset
|
44 call assert_equal('e', getbufoneline(b, 5)) |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 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
|
46 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
|
47 |
23875
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
48 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
|
49 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
|
50 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
|
51 \ "{'key': 123}", |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
52 \ "no process"], |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
53 \ 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
|
54 endif |
12319
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 exe "bwipe! " . b |
c7e95667d14b
patch 8.0.1039: cannot change a line in not current buffer
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 endfunc |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
57 |
12794
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
58 func Test_setbufline_getbufline_fold() |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
59 split Xtest |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
60 setlocal foldmethod=expr foldexpr=0 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
61 let b = bufnr('%') |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
62 new |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
63 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
|
64 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
|
65 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
|
66 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
|
67 exe "bwipe!" b |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
68 bwipe! |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
69 endfunc |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
70 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
71 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
|
72 split Xtest |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
73 setlocal foldmethod=expr foldexpr=0 |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
74 let b = bufnr('%') |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
75 tab new |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
76 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
|
77 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
|
78 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
|
79 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
|
80 exe "bwipe!" b |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
81 bwipe! |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
82 endfunc |
d4fc8a7dc7d9
patch 8.0.1274: setbufline() fails when using folding
Christian Brabandt <cb@256bit.org>
parents:
12568
diff
changeset
|
83 |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
84 func Test_setline_startup() |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
85 let cmd = GetVimCommand('Xscript') |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
86 if cmd == '' |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
87 return |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
88 endif |
30110
ba5ca7c7d44c
patch 9.0.0391: using separate delete() call instead of writefile() 'D' flag
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
89 call writefile(['call setline(1, "Hello")', 'silent w Xtest', 'q!'], 'Xscript', 'D') |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
90 call system(cmd) |
30158
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
30110
diff
changeset
|
91 sleep 50m |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
92 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
|
93 |
31004
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
94 call assert_equal(0, setline(1, [])) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
95 call assert_equal(0, setline(1, test_null_list())) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
96 call assert_equal(0, setline(5, [])) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
97 call assert_equal(0, setline(6, test_null_list())) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
98 |
12347
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
99 call delete('Xtest') |
61a9642297cc
patch 8.0.1053: setline() does not work on startup
Christian Brabandt <cb@256bit.org>
parents:
12319
diff
changeset
|
100 endfunc |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
101 |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
102 func Test_appendbufline() |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
103 new |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
104 let b = bufnr('%') |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
105 hide |
31160
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
106 |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
107 new |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
108 call setline(1, ['line1', 'line2', 'line3']) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
109 normal! 2gggg |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
110 call assert_equal(2, line("''")) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
111 |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
112 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
|
113 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
|
114 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
|
115 call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
31160
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
116 call assert_equal(0, appendbufline(b, 0, 'baz')) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
117 call assert_equal(['baz', 'foo', 'bar'], getbufline(b, 1, 3)) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
118 |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
119 " appendbufline() in a hidden buffer shouldn't move marks in current window. |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
120 call assert_equal(2, line("''")) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
121 bwipe! |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
122 |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
123 exe "bd!" b |
31160
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
124 call assert_equal([], getbufline(b, 1, 3)) |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
125 |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
126 split Xtest |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
127 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
|
128 let b = bufnr('%') |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
129 wincmd w |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
130 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
131 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
|
132 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
|
133 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
|
134 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
|
135 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
136 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
|
137 call assert_equal(1, appendbufline(b, 4, ['x'])) |
31004
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
138 call assert_equal(0, appendbufline(b, 4, [])) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
139 call assert_equal(0, appendbufline(b, 4, test_null_list())) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
140 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
141 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
|
142 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
|
143 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
|
144 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
|
145 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
146 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
|
147 call assert_equal(0, appendbufline(b, 1, test_null_list())) |
31004
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
148 call assert_equal(0, appendbufline(b, 3, [])) |
eb145a4d6bf8
patch 9.0.0837: append() reports failure when not appending anything
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
149 call assert_equal(0, appendbufline(b, 3, test_null_list())) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
150 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
151 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
|
152 |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
153 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
|
154 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
|
155 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
|
156 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
|
157 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
|
158 exe "bwipe! " . b |
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
12794
diff
changeset
|
159 endfunc |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
160 |
14826
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 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
|
174 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
|
175 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
|
176 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
|
177 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
|
178 [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
|
179 |
14826
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
180 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
|
181 return |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
182 endif |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
183 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
|
184 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
|
185 call delete("Xerror") |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
186 call delete("Xdone") |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
187 endfunc |
75d474a8868a
patch 8.1.0425: ml_get error and crash with appendbufline()
Christian Brabandt <cb@256bit.org>
parents:
14043
diff
changeset
|
188 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
189 func Test_deletebufline() |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
190 new |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
191 let b = bufnr('%') |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
192 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
|
193 hide |
31160
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
194 |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
195 new |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
196 call setline(1, ['line1', 'line2', 'line3']) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
197 normal! 2gggg |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
198 call assert_equal(2, line("''")) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
199 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
200 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
|
201 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
|
202 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
|
203 call assert_equal(['aaa'], getbufline(b, 1, 2)) |
31160
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
204 |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
205 " deletebufline() in a hidden buffer shouldn't move marks in current window. |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
206 call assert_equal(2, line("''")) |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
207 bwipe! |
eff0d98467e3
patch 9.0.0914: deletebufline() may move marks in the wrong window
Bram Moolenaar <Bram@vim.org>
parents:
31012
diff
changeset
|
208 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
209 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
|
210 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
|
211 |
16668
81be817c9d9a
patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
16368
diff
changeset
|
212 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
|
213 |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
214 split Xtest |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
215 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
|
216 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
|
217 let b = bufnr('%') |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
218 wincmd w |
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
219 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
|
220 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
|
221 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
|
222 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
|
223 |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
224 edit XbufOne |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
225 let one = bufnr() |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
226 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
|
227 setlocal nomodifiable |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
228 split XbufTwo |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
229 let two = bufnr() |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
230 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
|
231 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
|
232 bwipe! XbufTwo |
a433d0070c45
patch 8.2.2489: current buffer is wrong after deletebufline() fails
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
233 bwipe! XbufOne |
14043
cbad3b3f46b2
patch 8.1.0039: cannot easily delete lines in another buffer
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
234 endfunc |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
235 |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
236 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
|
237 CheckScreendump |
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17518
diff
changeset
|
238 |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
239 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
|
240 new foo |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
241 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
|
242 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
|
243 wincmd p |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
244 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
|
245 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
|
246 norm! G |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
247 wincmd p |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
248 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
|
249 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
|
250 END |
30110
ba5ca7c7d44c
patch 9.0.0391: using separate delete() call instead of writefile() 'D' flag
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
251 call writefile(lines, 'XscriptMatchCommon', 'D') |
17518
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
252 let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 10}) |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
253 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
|
254 |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
255 call StopVimInTerminal(buf) |
bfc5a2962f38
patch 8.1.1757: text added with appendbufline() isn't displayed
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
256 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
20178
diff
changeset
|
257 |
28948
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
258 func Test_setbufline_select_mode() |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
259 new |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
260 call setline(1, ['foo', 'bar']) |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
261 call feedkeys("j^v2l\<C-G>", 'nx') |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
262 |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
263 let bufnr = bufadd('Xdummy') |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
264 call bufload(bufnr) |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
265 call setbufline(bufnr, 1, ['abc']) |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
266 |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
267 call feedkeys("x", 'nx') |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
268 call assert_equal(['foo', 'x'], getline(1, 2)) |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
269 |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
270 exe "bwipe! " .. bufnr |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
271 bwipe! |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
272 endfunc |
b907d4a36318
patch 8.2.4996: setbufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
27626
diff
changeset
|
273 |
28960
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
274 func Test_deletebufline_select_mode() |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
275 new |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
276 call setline(1, ['foo', 'bar']) |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
277 call feedkeys("j^v2l\<C-G>", 'nx') |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
278 |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
279 let bufnr = bufadd('Xdummy') |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
280 call bufload(bufnr) |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
281 call setbufline(bufnr, 1, ['abc', 'def']) |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
282 call deletebufline(bufnr, 1) |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
283 |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
284 call feedkeys("x", 'nx') |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
285 call assert_equal(['foo', 'x'], getline(1, 2)) |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
286 |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
287 exe "bwipe! " .. bufnr |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
288 bwipe! |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
289 endfunc |
8207581dd068
patch 8.2.5002: deletebufline() may change Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
28948
diff
changeset
|
290 |
31255
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
291 func Test_deletebufline_popup_window() |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
292 let popupID = popup_create('foo', {}) |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
293 let bufnr = winbufnr(popupID) |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
294 |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
295 " Check that deletebufline() brings us back to the same window. |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
296 new |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
297 let winid_before = win_getid() |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
298 call deletebufline(bufnr, 1, '$') |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
299 call assert_equal(winid_before, win_getid()) |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
300 bwipe |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
301 |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
302 call popup_close(popupID) |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
303 endfunc |
87ff5e71d3c2
patch 9.0.0961: using deletebufline() may jump to another window
Bram Moolenaar <Bram@vim.org>
parents:
31164
diff
changeset
|
304 |
29875
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
305 func Test_setbufline_startup_nofile() |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
306 let before =<< trim [CODE] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
307 set shortmess+=F |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
308 file Xresult |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
309 set buftype=nofile |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
310 call setbufline('', 1, 'success') |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
311 [CODE] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
312 let after =<< trim [CODE] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
313 set buftype= |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
314 write |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
315 quit |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
316 [CODE] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
317 |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
318 if !RunVim(before, after, '--clean') |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
319 return |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
320 endif |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
321 call assert_equal(['success'], readfile('Xresult')) |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
322 call delete('Xresult') |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
323 endfunc |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
28960
diff
changeset
|
324 |
31012
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
325 " Test that setbufline(), appendbufline() and deletebufline() should fail and |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
326 " return 1 when "textlock" is active. |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
327 func Test_change_bufline_with_textlock() |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
328 new |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
329 inoremap <buffer> <expr> <F2> setbufline('', 1, '') |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
330 call assert_fails("normal a\<F2>", 'E565:') |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
331 call assert_equal('1', getline(1)) |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
332 inoremap <buffer> <expr> <F2> appendbufline('', 1, '') |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
333 call assert_fails("normal a\<F2>", 'E565:') |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
334 call assert_equal('11', getline(1)) |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
335 inoremap <buffer> <expr> <F2> deletebufline('', 1) |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
336 call assert_fails("normal a\<F2>", 'E565:') |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
337 call assert_equal('111', getline(1)) |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
338 bwipe! |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
339 endfunc |
4ba2890de10d
patch 9.0.0841: deletebufline() does not always return 1 on failure
Bram Moolenaar <Bram@vim.org>
parents:
31004
diff
changeset
|
340 |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
20178
diff
changeset
|
341 " vim: shiftwidth=2 sts=2 expandtab |