diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
commit | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (patch) | |
tree | cd08258054db80bb9a11b1061bb091c70b76926a /src/nvim/testdir/test_fileformat.vim | |
parent | eaa89c11d0f8aefbb512de769c6c82f61a8baca3 (diff) | |
parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
download | rneovim-aucmd_textputpost.tar.gz rneovim-aucmd_textputpost.tar.bz2 rneovim-aucmd_textputpost.zip |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpostaucmd_textputpost
Diffstat (limited to 'src/nvim/testdir/test_fileformat.vim')
-rw-r--r-- | src/nvim/testdir/test_fileformat.vim | 309 |
1 files changed, 0 insertions, 309 deletions
diff --git a/src/nvim/testdir/test_fileformat.vim b/src/nvim/testdir/test_fileformat.vim deleted file mode 100644 index 8d727a68c4..0000000000 --- a/src/nvim/testdir/test_fileformat.vim +++ /dev/null @@ -1,309 +0,0 @@ -" Test behavior of fileformat after bwipeout of last buffer -func Test_fileformat_after_bw() - bwipeout - set fileformat& - if &fileformat == 'dos' - let test_fileformats = 'unix' - elseif &fileformat == 'unix' - let test_fileformats = 'mac' - else " must be mac - let test_fileformats = 'dos' - endif - exec 'set fileformats='.test_fileformats - bwipeout! - call assert_equal(test_fileformats, &fileformat) - set fileformats& -endfunc - -func Test_fileformat_autocommand() - let filecnt = ["", "foobar\<CR>", "eins\<CR>", "\<CR>", "zwei\<CR>", "drei", "vier", "fünf", ""] - let ffs = &ffs - call writefile(filecnt, 'Xfile', 'b') - au BufReadPre Xfile set ffs=dos ff=dos - new Xfile - call assert_equal('dos', &l:ff) - call assert_equal('dos', &ffs) - - " cleanup - call delete('Xfile') - let &ffs = ffs - au! BufReadPre Xfile - bw! -endfunc - -func Test_fileformat_nomodifiable() - new - setlocal nomodifiable - - call assert_fails('set fileformat=latin1', 'E21:') - - bw -endfunc - -" Convert the contents of a file into a literal string -func s:file2str(fname) - let b = readfile(a:fname, 'B') - let s = '' - for c in b - let s .= nr2char(c) - endfor - return s -endfunc - -" Concatenate the contents of files 'f1' and 'f2' and create 'destfile' -func s:concat_files(f1, f2, destfile) - let b1 = readfile(a:f1, 'B') - let b2 = readfile(a:f2, 'B') - let b3 = b1 + b2 - call writefile(b3, a:destfile) -endfun - -" Test for a lot of variations of the 'fileformats' option -func Test_fileformats() - " create three test files, one in each format - call writefile(['unix', 'unix'], 'XXUnix') - call writefile(["dos\r", "dos\r"], 'XXDos') - call writefile(["mac\rmac\r"], 'XXMac', 'b') - " create a file with no End Of Line - call writefile(["noeol"], 'XXEol', 'b') - " create mixed format files - call s:concat_files('XXUnix', 'XXDos', 'XXUxDs') - call s:concat_files('XXUnix', 'XXMac', 'XXUxMac') - call s:concat_files('XXDos', 'XXMac', 'XXDosMac') - call s:concat_files('XXMac', 'XXEol', 'XXMacEol') - call s:concat_files('XXUxDs', 'XXMac', 'XXUxDsMc') - - new - - " Test 1: try reading and writing with 'fileformats' empty - set fileformats= - - " try with 'fileformat' set to 'unix' - set fileformat=unix - e! XXUnix - w! Xtest - call assert_equal("unix\nunix\n", s:file2str('Xtest')) - e! XXDos - w! Xtest - call assert_equal("dos\r\ndos\r\n", s:file2str('Xtest')) - e! XXMac - w! Xtest - call assert_equal("mac\rmac\r\n", s:file2str('Xtest')) - bwipe XXUnix XXDos XXMac - - " try with 'fileformat' set to 'dos' - set fileformat=dos - e! XXUnix - w! Xtest - call assert_equal("unix\r\nunix\r\n", s:file2str('Xtest')) - e! XXDos - w! Xtest - call assert_equal("dos\r\ndos\r\n", s:file2str('Xtest')) - e! XXMac - w! Xtest - call assert_equal("mac\rmac\r\r\n", s:file2str('Xtest')) - bwipe XXUnix XXDos XXMac - - " try with 'fileformat' set to 'mac' - set fileformat=mac - e! XXUnix - w! Xtest - call assert_equal("unix\nunix\n\r", s:file2str('Xtest')) - e! XXDos - w! Xtest - call assert_equal("dos\r\ndos\r\n\r", s:file2str('Xtest')) - e! XXMac - w! Xtest - call assert_equal("mac\rmac\r", s:file2str('Xtest')) - bwipe XXUnix XXDos XXMac - - " Test 2: try reading and writing with 'fileformats' set to one format - - " try with 'fileformats' set to 'unix' - set fileformats=unix - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - " try with 'fileformats' set to 'dos' - set fileformats=dos - e! XXUxDsMc - w! Xtest - call assert_equal("unix\r\nunix\r\ndos\r\ndos\r\nmac\rmac\r\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - " try with 'fileformats' set to 'mac' - set fileformats=mac - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - " Test 3: try reading and writing with 'fileformats' set to two formats - - " try with 'fileformats' set to 'unix,dos' - set fileformats=unix,dos - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXUxMac - w! Xtest - call assert_equal("unix\nunix\nmac\rmac\r\n", s:file2str('Xtest')) - bwipe XXUxMac - - e! XXDosMac - w! Xtest - call assert_equal("dos\r\ndos\r\nmac\rmac\r\r\n", s:file2str('Xtest')) - bwipe XXDosMac - - " try with 'fileformats' set to 'unix,mac' - set fileformats=unix,mac - e! XXUxDs - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\n", s:file2str('Xtest')) - bwipe XXUxDs - - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXDosMac - w! Xtest - call assert_equal("dos\r\ndos\r\nmac\rmac\r", s:file2str('Xtest')) - bwipe XXDosMac - - e! XXEol - exe "normal ggO\<C-R>=&ffs\<CR>:\<C-R>=&ff\<CR>" - w! Xtest - call assert_equal("unix,mac:unix\nnoeol\n", s:file2str('Xtest')) - bwipe! XXEol - - " try with 'fileformats' set to 'dos,mac' - set fileformats=dos,mac - e! XXUxDs - w! Xtest - call assert_equal("unix\r\nunix\r\ndos\r\ndos\r\n", s:file2str('Xtest')) - bwipe XXUxDs - - e! XXUxMac - exe "normal ggO\<C-R>=&ffs\<CR>:\<C-R>=&ff\<CR>" - w! Xtest - call assert_equal("dos,mac:dos\r\nunix\r\nunix\r\nmac\rmac\r\r\n", - \ s:file2str('Xtest')) - bwipe! XXUxMac - - e! XXUxDsMc - w! Xtest - call assert_equal("unix\r\nunix\r\ndos\r\ndos\r\nmac\rmac\r\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXMacEol - exe "normal ggO\<C-R>=&ffs\<CR>:\<C-R>=&ff\<CR>" - w! Xtest - call assert_equal("dos,mac:mac\rmac\rmac\rnoeol\r", s:file2str('Xtest')) - bwipe! XXMacEol - - " Test 4: try reading and writing with 'fileformats' set to three formats - set fileformats=unix,dos,mac - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXEol - exe "normal ggO\<C-R>=&ffs\<CR>:\<C-R>=&ff\<CR>" - w! Xtest - call assert_equal("unix,dos,mac:unix\nnoeol\n", s:file2str('Xtest')) - bwipe! XXEol - - set fileformats=mac,dos,unix - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r\n", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXEol - exe "normal ggO\<C-R>=&ffs\<CR>:\<C-R>=&ff\<CR>" - w! Xtest - call assert_equal("mac,dos,unix:mac\rnoeol\r", s:file2str('Xtest')) - bwipe! XXEol - - " Test 5: try with 'binary' set - set fileformats=mac,unix,dos - set binary - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - set fileformats=mac - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - set fileformats=dos - e! XXUxDsMc - w! Xtest - call assert_equal("unix\nunix\ndos\r\ndos\r\nmac\rmac\r", - \ s:file2str('Xtest')) - bwipe XXUxDsMc - - e! XXUnix - w! Xtest - call assert_equal("unix\nunix\n", s:file2str('Xtest')) - bwipe! XXUnix - - set nobinary ff& ffs& - - " cleanup - only - %bwipe! - call delete('XXUnix') - call delete('XXDos') - call delete('XXMac') - call delete('XXEol') - call delete('XXUxDs') - call delete('XXUxMac') - call delete('XXDosMac') - call delete('XXMacEol') - call delete('XXUxDsMc') - call delete('Xtest') -endfunc - -" Test for changing the fileformat using ++read -func Test_fileformat_plusplus_read() - new - call setline(1, ['one', 'two', 'three']) - w ++ff=dos Xfile1 - enew! - set ff=unix - " A :read doesn't change the fileformat, but does apply to the read lines. - r ++fileformat=unix Xfile1 - call assert_equal('unix', &fileformat) - call assert_equal("three\r", getline('$')) - 3r ++edit Xfile1 - call assert_equal('dos', &fileformat) - close! - call delete('Xfile1') - set fileformat& - call assert_fails('e ++fileformat Xfile1', 'E474:') - call assert_fails('e ++ff=abc Xfile1', 'E474:') - call assert_fails('e ++abc1 Xfile1', 'E474:') -endfunc - -" vim: shiftwidth=2 sts=2 expandtab |