1" Test the :source! command 2source check.vim 3 4func Test_source_utf8() 5 " check that sourcing a script with 0x80 as second byte works 6 " does not work correctly on BSD 7 CheckNotBSD 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 35" Test for sourcing a file with CTRL-V's at the end of the line 36func Test_source_ctrl_v() 37 CheckNotBSD 38 call writefile(['map __1 afirst', 39 \ 'map __2 asecond', 40 \ 'map __3 athird', 41 \ 'map __4 afourth', 42 \ 'map __5 afifth', 43 \ "map __1 asd\<C-V>", 44 \ "map __2 asd\<C-V>\<C-V>", 45 \ "map __3 asd\<C-V>\<C-V>", 46 \ "map __4 asd\<C-V>\<C-V>\<C-V>", 47 \ "map __5 asd\<C-V>\<C-V>\<C-V>", 48 \ ], 'Xtestfile') 49 source Xtestfile 50 enew! 51 exe "normal __1\<Esc>\<Esc>__2\<Esc>__3\<Esc>\<Esc>__4\<Esc>__5\<Esc>" 52 exe "%s/\<C-J>/0/g" 53 call assert_equal(['sd', 54 \ "map __2 asd\<Esc>secondsd\<Esc>sd0map __5 asd0fifth"], 55 \ getline(1, 2)) 56 57 enew! 58 call delete('Xtestfile') 59 unmap __1 60 unmap __2 61 unmap __3 62 unmap __4 63 unmap __5 64endfunc 65