1" Test the :source! command
2if !has('multi_byte')
3  finish
4endif
5
6func Test_source_utf8()
7  " check that sourcing a script with 0x80 as second byte works
8  new
9  call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g'])
10  write! Xscript
11  bwipe!
12  new
13  call setline(1, [' àx ', ' Àx '])
14  source! Xscript | echo
15  call assert_equal(' --à1234-- ', getline(1))
16  call assert_equal(' --À1234-- ', getline(2))
17  bwipe!
18  call delete('Xscript')
19endfunc
20
21func Test_source_latin()
22  " check that sourcing a latin1 script with a 0xc0 byte works
23  new
24  call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"])
25  write! Xscript
26  bwipe!
27  new
28  call setline(1, ['xxx'])
29  source Xscript
30  call assert_equal("\u00c0xx", getline(1))
31  bwipe!
32  call delete('Xscript')
33endfunc
34