1292eff0cSBram Moolenaar" Tests for complicated + argument to :edit command 2*6d91bcb4SBram Moolenaar 3292eff0cSBram Moolenaarfunction Test_edit() 4292eff0cSBram Moolenaar call writefile(["foo|bar"], "Xfile1") 5292eff0cSBram Moolenaar call writefile(["foo/bar"], "Xfile2") 6292eff0cSBram Moolenaar edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w 7292eff0cSBram Moolenaar call assert_equal(["fooPIPEbar"], readfile("Xfile1")) 8292eff0cSBram Moolenaar call assert_equal(["fooSLASHbar"], readfile("Xfile2")) 96e77df2dSBram Moolenaar call delete('Xfile1') 106e77df2dSBram Moolenaar call delete('Xfile2') 11292eff0cSBram Moolenaarendfunction 127580849dSBram Moolenaar 137580849dSBram Moolenaarfunc Test_edit_bad() 147580849dSBram Moolenaar " Test loading a utf8 file with bad utf8 sequences. 157580849dSBram Moolenaar call writefile(["[\xff][\xc0][\xe2\x89\xf0][\xc2\xc2]"], "Xfile") 167580849dSBram Moolenaar new 177580849dSBram Moolenaar 187580849dSBram Moolenaar " Without ++bad=..., the default behavior is like ++bad=? 197580849dSBram Moolenaar e! ++enc=utf8 Xfile 207580849dSBram Moolenaar call assert_equal('[?][?][???][??]', getline(1)) 217580849dSBram Moolenaar 22818fc9adSBram Moolenaar e! ++encoding=utf8 ++bad=_ Xfile 237580849dSBram Moolenaar call assert_equal('[_][_][___][__]', getline(1)) 247580849dSBram Moolenaar 257580849dSBram Moolenaar e! ++enc=utf8 ++bad=drop Xfile 267580849dSBram Moolenaar call assert_equal('[][][][]', getline(1)) 277580849dSBram Moolenaar 287580849dSBram Moolenaar e! ++enc=utf8 ++bad=keep Xfile 297580849dSBram Moolenaar call assert_equal("[\xff][\xc0][\xe2\x89\xf0][\xc2\xc2]", getline(1)) 307580849dSBram Moolenaar 317580849dSBram Moolenaar call assert_fails('e! ++enc=utf8 ++bad=foo Xfile', 'E474:') 327580849dSBram Moolenaar 337580849dSBram Moolenaar bw! 347580849dSBram Moolenaar call delete('Xfile') 357580849dSBram Moolenaarendfunc 36f0cee197SBram Moolenaar 37f0cee197SBram Moolenaar" Test for ++bin and ++nobin arguments 38f0cee197SBram Moolenaarfunc Test_binary_arg() 39f0cee197SBram Moolenaar new 40f0cee197SBram Moolenaar edit ++bin Xfile1 41f0cee197SBram Moolenaar call assert_equal(1, &binary) 42f0cee197SBram Moolenaar edit ++nobin Xfile2 43f0cee197SBram Moolenaar call assert_equal(0, &binary) 44f0cee197SBram Moolenaar call assert_fails('edit ++binabc Xfile3', 'E474:') 45f0cee197SBram Moolenaar close! 46f0cee197SBram Moolenaarendfunc 47f0cee197SBram Moolenaar 48f0cee197SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 49