Mercurial > vim
annotate src/testdir/test_breakindent.vim @ 10906:7fc1df5536c9 v8.0.0342
patch 8.0.0342: double free with EXITFREE and setting 'ttytype'
commit https://github.com/vim/vim/commit/673911457d6745b6b779eb769c2f41965592d12c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 19 21:07:04 2017 +0100
patch 8.0.0342: double free with EXITFREE and setting 'ttytype'
Problem: Double free when compiled with EXITFREE and setting 'ttytype'.
Solution: Avoid setting P_ALLOCED on 'ttytype'. (Dominique Pelle,
closes #1461)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 19 Feb 2017 21:15:04 +0100 |
parents | 678edb254216 |
children | c004e17fa36b |
rev | line source |
---|---|
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for breakindent |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 " Note: if you get strange failures when adding new tests, it might be that |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 " while the test is run, the breakindent cacheing gets in its way. |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
5 " It helps to change the tabstop setting and force a redraw (e.g. see |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 " Test_breakindent08()) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 if !exists('+breakindent') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 finish |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 endif |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
11 source view_util.vim |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
12 |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP" |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
15 function s:screen_lines(lnum, width) abort |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
16 return ScreenLines([a:lnum, a:lnum + 2], a:width) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
19 function! s:compare_lines(expect, actual) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
20 call assert_equal(join(a:expect, "\n"), join(a:actual, "\n")) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
21 endfunction |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
22 |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
23 function s:test_windows(...) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
24 call NewWindow(10, 20) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
25 setl ts=4 sw=4 sts=4 breakindent |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 put =s:input |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
27 exe get(a:000, 0, '') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 function s:close_windows(...) |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
31 call CloseWindow() |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
32 exe get(a:000, 0, '') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 function Test_breakindent01() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 " simple breakindent test |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
37 call s:test_windows('setl briopt=min:0') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
38 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
39 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
40 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
41 \ " qrst", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
42 \ " GHIJ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
43 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
44 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 function Test_breakindent02() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 " simple breakindent test with showbreak set |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
50 call s:test_windows('setl briopt=min:0 sbr=>>') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
51 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
52 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
53 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
54 \ " >>qr", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
55 \ " >>EF", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
56 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
57 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 function Test_breakindent03() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 " simple breakindent test with showbreak set and briopt including sbr |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
63 call s:test_windows('setl briopt=sbr,min:0 sbr=++') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
64 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
65 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
66 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
67 \ "++ qrst", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
68 \ "++ GHIJ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
69 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
70 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 " clean up |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 function Test_breakindent04() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 " breakindent set with min width 18 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
77 call s:test_windows('setl sbr= briopt=min:18') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
78 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
79 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
80 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
81 \ " qrstuv", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
82 \ " IJKLMN", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
83 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
84 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 " clean up |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 function Test_breakindent05() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 " breakindent set and shift by 2 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
91 call s:test_windows('setl briopt=shift:2,min:0') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
92 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
93 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
94 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
95 \ " qr", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
96 \ " EF", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
97 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
98 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 function Test_breakindent06() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 " breakindent set and shift by -1 |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
104 call s:test_windows('setl briopt=shift:-1,min:0') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
105 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
106 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
107 \ " abcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
108 \ " qrstu", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
109 \ " HIJKL", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
110 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
111 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
112 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
113 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
114 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
115 function Test_breakindent07() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
116 " breakindent set and shift by 1, Number set sbr=? and briopt:sbr |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
117 call s:test_windows('setl briopt=shift:1,sbr,min:0 nu sbr=? nuw=4 cpo+=n') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
118 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
119 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
120 \ " 2 ab", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
121 \ "? m", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
122 \ "? x", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
123 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
124 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
125 " clean up |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
126 call s:close_windows('set sbr= cpo-=n') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
127 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
128 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
129 function Test_breakindent07a() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
130 " breakindent set and shift by 1, Number set sbr=? and briopt:sbr |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
131 call s:test_windows('setl briopt=shift:1,sbr,min:0 nu sbr=? nuw=4') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
132 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
133 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
134 \ " 2 ab", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
135 \ " ? m", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
136 \ " ? x", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
137 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
138 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
139 " clean up |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
140 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
141 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
142 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
143 function Test_breakindent08() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
144 " breakindent set and shift by 1, Number and list set sbr=# and briopt:sbr |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
145 call s:test_windows('setl briopt=shift:1,sbr,min:0 nu nuw=4 sbr=# list cpo+=n ts=4') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
146 " make sure, cache is invalidated! |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
147 set ts=8 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
148 redraw! |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
149 set ts=4 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
150 redraw! |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
151 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
152 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
153 \ " 2 ^Iabcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
154 \ "# opq", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
155 \ "# BCD", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
156 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
157 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 call s:close_windows('set sbr= cpo-=n') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 function Test_breakindent08a() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 " breakindent set and shift by 1, Number and list set sbr=# and briopt:sbr |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
163 call s:test_windows('setl briopt=shift:1,sbr,min:0 nu nuw=4 sbr=# list') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
164 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
165 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
166 \ " 2 ^Iabcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
167 \ " # opq", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
168 \ " # BCD", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
169 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
170 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 function Test_breakindent09() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 " breakindent set and shift by 1, Number and list set sbr=# |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
176 call s:test_windows('setl briopt=shift:1,min:0 nu nuw=4 sbr=# list') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
177 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
178 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
179 \ " 2 ^Iabcd", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
180 \ " #op", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
181 \ " #AB", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
182 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
183 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 function Test_breakindent10() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 " breakindent set, Number set sbr=~ |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
189 call s:test_windows('setl cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 " make sure, cache is invalidated! |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 set ts=8 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 redraw! |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 set ts=4 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 redraw! |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
195 let lines=s:screen_lines(line('.'),10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
196 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
197 \ " 2 ab", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
198 \ "~ mn", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
199 \ "~ yz", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
200 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
201 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
202 call s:close_windows('set sbr= cpo-=n') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
203 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
204 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
205 function Test_breakindent11() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
206 " test strdisplaywidth() |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
207 call s:test_windows('setl cpo-=n sbr=>> nu nuw=4 nolist briopt= ts=4') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
208 let text=getline(2) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
209 let width = strlen(text[1:])+indent(2)+strlen(&sbr)*3 " text wraps 3 times |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
210 call assert_equal(width, strdisplaywidth(text)) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
211 call s:close_windows('set sbr=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
212 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
213 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
214 function Test_breakindent12() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
215 " test breakindent with long indent |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
216 let s:input="\t\t\t\t\t{" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
217 call s:test_windows('setl breakindent linebreak briopt=min:10 nu numberwidth=3 ts=4 list listchars=tab:>-') |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
218 let lines=s:screen_lines(2,16) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
219 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
220 \ " 2 >--->--->--->", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
221 \ " ---{ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
222 \ "~ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
223 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
224 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
225 call s:close_windows('set nuw=4 listchars=') |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
226 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
227 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
228 function Test_breakindent13() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
229 let s:input="" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
230 call s:test_windows('setl breakindent briopt=min:10 ts=8') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 vert resize 20 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
232 call setline(1, [" a\tb\tc\td\te", " z y x w v"]) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 1 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
234 norm! fbgj"ayl |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
235 2 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
236 norm! fygj"byl |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
237 call assert_equal('d', @a) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
238 call assert_equal('w', @b) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
239 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 function Test_breakindent14() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
243 let s:input="" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
244 call s:test_windows('setl breakindent briopt= ts=8') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
245 vert resize 30 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
246 norm! 3a1234567890 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
247 norm! a abcde |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
248 exec "norm! 0\<C-V>tex" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
249 let lines=s:screen_lines(line('.'),8) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
250 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
251 \ "e ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
252 \ "~ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
253 \ "~ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
254 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
255 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
256 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
257 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
258 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
259 function Test_breakindent15() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
260 let s:input="" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
261 call s:test_windows('setl breakindent briopt= ts=8 sw=8') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
262 vert resize 30 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
263 norm! 4a1234567890 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
264 exe "normal! >>\<C-V>3f0x" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
265 let lines=s:screen_lines(line('.'),20) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
266 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
267 \ " 1234567890 ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
268 \ "~ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
269 \ "~ ", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
270 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
271 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
272 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
273 endfunction |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
274 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
275 function Test_breakindent16() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
276 " Check that overlong lines are indented correctly. |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
277 " TODO: currently it does not fail even when the bug is not fixed. |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
278 let s:input="" |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
279 call s:test_windows('setl breakindent briopt=min:0 ts=4') |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
280 call setline(1, "\t".repeat("1234567890", 10)) |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
281 resize 6 |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
282 norm! 1gg$ |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
283 redraw! |
10843
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
284 let lines=s:screen_lines(1,10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
285 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
286 \ " 123456", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
287 \ " 789012", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
288 \ " 345678", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
289 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
290 call s:compare_lines(expect, lines) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
291 let lines=s:screen_lines(4,10) |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
292 let expect=[ |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
293 \ " 901234", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
294 \ " 567890", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
295 \ " 123456", |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
296 \ ] |
678edb254216
patch 8.0.0311: linebreak tests are old style
Christian Brabandt <cb@256bit.org>
parents:
10392
diff
changeset
|
297 call s:compare_lines(expect, lines) |
10392
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
298 call s:close_windows() |
957a1d560bda
commit https://github.com/vim/vim/commit/6c896867c4f5d759616028ef7cbfce2a9ed32600
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
299 endfunction |