blob: 57ea7ca5a970084c1180cb6ce8379c3ab21b5deb [file] [log] [blame]
Bram Moolenaar209d3872017-11-16 21:52:51 +01001" Tests for 'listchars' display with 'list' and :list
2
3source view_util.vim
4
5func Test_listchars()
6 enew!
7 set ff=unix
8 set list
9
10 set listchars+=tab:>-,space:.,trail:<
11 call append(0, [
12 \ ' aa ',
13 \ ' bb ',
14 \ ' cccc ',
15 \ 'dd ee ',
16 \ ' '
17 \ ])
18 let expected = [
19 \ '>-------aa>-----$',
20 \ '..bb>---<<$',
21 \ '...cccc><$',
22 \ 'dd........ee<<>-$',
23 \ '<$'
24 \ ]
25 redraw!
26 for i in range(1, 5)
27 call cursor(i, 1)
28 call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
29 endfor
30
31 set listchars-=trail:<
32 let expected = [
33 \ '>-------aa>-----$',
34 \ '..bb>---..$',
35 \ '...cccc>.$',
36 \ 'dd........ee..>-$',
37 \ '.$'
38 \ ]
39 redraw!
40 for i in range(1, 5)
41 call cursor(i, 1)
42 call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
43 endfor
44
45 set listchars+=trail:<
46 set nolist
47 normal ggdG
48 call append(0, [
49 \ ' fff ',
50 \ ' gg ',
51 \ ' h ',
52 \ 'iii ',
53 \ ])
54 let l = split(execute("%list"), "\n")
55 call assert_equal([
56 \ '..fff>--<<$',
57 \ '>-------gg>-----$',
58 \ '.....h>-$',
59 \ 'iii<<<<><<$', '$'], l)
60
61 enew!
62 set listchars& ff&
63endfunc