1d3c907b5SBram Moolenaar" Test the :source! command 2*6d91bcb4SBram Moolenaar 39134f1ecSBram Moolenaarsource check.vim 4d3c907b5SBram Moolenaar 5d3c907b5SBram Moolenaarfunc Test_source_utf8() 6d3c907b5SBram Moolenaar " check that sourcing a script with 0x80 as second byte works 7d3c907b5SBram Moolenaar new 8d3c907b5SBram Moolenaar call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g']) 9d3c907b5SBram Moolenaar write! Xscript 10d3c907b5SBram Moolenaar bwipe! 11d3c907b5SBram Moolenaar new 12d3c907b5SBram Moolenaar call setline(1, [' àx ', ' Àx ']) 13d3c907b5SBram Moolenaar source! Xscript | echo 14d3c907b5SBram Moolenaar call assert_equal(' --à1234-- ', getline(1)) 15d3c907b5SBram Moolenaar call assert_equal(' --À1234-- ', getline(2)) 16d3c907b5SBram Moolenaar bwipe! 17d3c907b5SBram Moolenaar call delete('Xscript') 18d3c907b5SBram Moolenaarendfunc 19d3c907b5SBram Moolenaar 20d3c907b5SBram Moolenaarfunc Test_source_latin() 21d3c907b5SBram Moolenaar " check that sourcing a latin1 script with a 0xc0 byte works 22d3c907b5SBram Moolenaar new 23d3c907b5SBram Moolenaar call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"]) 24d3c907b5SBram Moolenaar write! Xscript 25d3c907b5SBram Moolenaar bwipe! 26d3c907b5SBram Moolenaar new 27d3c907b5SBram Moolenaar call setline(1, ['xxx']) 28d3c907b5SBram Moolenaar source Xscript 29d3c907b5SBram Moolenaar call assert_equal("\u00c0xx", getline(1)) 30d3c907b5SBram Moolenaar bwipe! 31d3c907b5SBram Moolenaar call delete('Xscript') 32d3c907b5SBram Moolenaarendfunc 3315993ce9SBram Moolenaar 3415993ce9SBram Moolenaar" Test for sourcing a file with CTRL-V's at the end of the line 3515993ce9SBram Moolenaarfunc Test_source_ctrl_v() 3615993ce9SBram Moolenaar call writefile(['map __1 afirst', 3715993ce9SBram Moolenaar \ 'map __2 asecond', 3815993ce9SBram Moolenaar \ 'map __3 athird', 3915993ce9SBram Moolenaar \ 'map __4 afourth', 4015993ce9SBram Moolenaar \ 'map __5 afifth', 4115993ce9SBram Moolenaar \ "map __1 asd\<C-V>", 4215993ce9SBram Moolenaar \ "map __2 asd\<C-V>\<C-V>", 4315993ce9SBram Moolenaar \ "map __3 asd\<C-V>\<C-V>", 4415993ce9SBram Moolenaar \ "map __4 asd\<C-V>\<C-V>\<C-V>", 4515993ce9SBram Moolenaar \ "map __5 asd\<C-V>\<C-V>\<C-V>", 4615993ce9SBram Moolenaar \ ], 'Xtestfile') 4715993ce9SBram Moolenaar source Xtestfile 4815993ce9SBram Moolenaar enew! 4915993ce9SBram Moolenaar exe "normal __1\<Esc>\<Esc>__2\<Esc>__3\<Esc>\<Esc>__4\<Esc>__5\<Esc>" 5015993ce9SBram Moolenaar exe "%s/\<C-J>/0/g" 5115993ce9SBram Moolenaar call assert_equal(['sd', 5215993ce9SBram Moolenaar \ "map __2 asd\<Esc>secondsd\<Esc>sd0map __5 asd0fifth"], 5315993ce9SBram Moolenaar \ getline(1, 2)) 5415993ce9SBram Moolenaar 5515993ce9SBram Moolenaar enew! 5615993ce9SBram Moolenaar call delete('Xtestfile') 5715993ce9SBram Moolenaar unmap __1 5815993ce9SBram Moolenaar unmap __2 5915993ce9SBram Moolenaar unmap __3 6015993ce9SBram Moolenaar unmap __4 6115993ce9SBram Moolenaar unmap __5 6215993ce9SBram Moolenaarendfunc 63*6d91bcb4SBram Moolenaar 64*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 65