1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
" Test the :source! command
source check.vim
func Test_source_utf8()
" check that sourcing a script with 0x80 as second byte works
new
call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g'])
write! Xscript
bwipe!
new
call setline(1, [' àx ', ' Àx '])
source! Xscript | echo
call assert_equal(' --à1234-- ', getline(1))
call assert_equal(' --À1234-- ', getline(2))
bwipe!
call delete('Xscript')
endfunc
func Test_source_latin()
" check that sourcing a latin1 script with a 0xc0 byte works
new
call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"])
write! Xscript
bwipe!
new
call setline(1, ['xxx'])
source Xscript
call assert_equal("\u00c0xx", getline(1))
bwipe!
call delete('Xscript')
endfunc
" Test for sourcing a file with CTRL-V's at the end of the line
func Test_source_ctrl_v()
call writefile(['map __1 afirst',
\ 'map __2 asecond',
\ 'map __3 athird',
\ 'map __4 afourth',
\ 'map __5 afifth',
\ "map __1 asd\<C-V>",
\ "map __2 asd\<C-V>\<C-V>",
\ "map __3 asd\<C-V>\<C-V>",
\ "map __4 asd\<C-V>\<C-V>\<C-V>",
\ "map __5 asd\<C-V>\<C-V>\<C-V>",
\ ], 'Xtestfile', 'D')
source Xtestfile
enew!
exe "normal __1\<Esc>\<Esc>__2\<Esc>__3\<Esc>\<Esc>__4\<Esc>__5\<Esc>"
exe "%s/\<C-J>/0/g"
call assert_equal(['sd',
\ "map __2 asd\<Esc>secondsd\<Esc>sd0map __5 asd0fifth"],
\ getline(1, 2))
enew!
unmap __1
unmap __2
unmap __3
unmap __4
unmap __5
endfunc
" vim: shiftwidth=2 sts=2 expandtab
|