summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2021-05-19 17:15:04 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-19 17:15:04 +0200
commit46aa6f93acb5d932d2893606d980a6b4b8a9594c (patch)
tree8db600bf818c86a923bbf7375c0858f2c6967978
parent56c9fd01076bc62b55c8cb89d8a66f6136e52f3a (diff)
patch 8.2.2873: not enough tests for writing buffersv8.2.2873
Problem: Not enough tests for writing buffers. Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8229)
-rw-r--r--src/testdir/test_buffer.vim20
-rw-r--r--src/testdir/test_cmdline.vim30
-rw-r--r--src/testdir/test_functions.vim1
-rw-r--r--src/testdir/test_writefile.vim22
-rw-r--r--src/version.c2
5 files changed, 72 insertions, 3 deletions
diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim
index 4e8a79f0c6..960a760ebd 100644
--- a/src/testdir/test_buffer.vim
+++ b/src/testdir/test_buffer.vim
@@ -381,4 +381,24 @@ func Test_balt()
call assert_equal('OtherBuffer', bufname())
endfunc
+" Test for the 'maxmem' and 'maxmemtot' options
+func Test_buffer_maxmem()
+ " use 1KB per buffer and 2KB for all the buffers
+ set maxmem=1 maxmemtot=2
+ new
+ let v:errmsg = ''
+ " try opening some files
+ edit test_arglist.vim
+ call assert_equal('test_arglist.vim', bufname())
+ edit test_eval_stuff.vim
+ call assert_equal('test_eval_stuff.vim', bufname())
+ b test_arglist.vim
+ call assert_equal('test_arglist.vim', bufname())
+ b test_eval_stuff.vim
+ call assert_equal('test_eval_stuff.vim', bufname())
+ close
+ call assert_equal('', v:errmsg)
+ set maxmem& maxmemtot&
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index bba7e725e9..d167d4c7c5 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1309,13 +1309,22 @@ func Test_cmdlineclear_tabenter()
call delete('XtestCmdlineClearTabenter')
endfunc
-" Test for failure in expanding special keywords in cmdline
+" Test for expanding special keywords in cmdline
func Test_cmdline_expand_special()
%bwipe!
call assert_fails('e #', 'E499:')
call assert_fails('e <afile>', 'E495:')
call assert_fails('e <abuf>', 'E496:')
call assert_fails('e <amatch>', 'E497:')
+
+ call writefile([], 'Xfile.cpp')
+ call writefile([], 'Xfile.java')
+ new Xfile.cpp
+ call feedkeys(":e %:r\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"e Xfile.cpp Xfile.java', @:)
+ close
+ call delete('Xfile.cpp')
+ call delete('Xfile.java')
endfunc
func Test_cmdwin_jump_to_win()
@@ -1823,5 +1832,24 @@ func Test_cmd_map_cmdlineChanged()
augroup END
endfunc
+" Test for the 'suffixes' option
+func Test_suffixes_opt()
+ call writefile([], 'Xfile')
+ call writefile([], 'Xfile.c')
+ call writefile([], 'Xfile.o')
+ set suffixes=
+ call feedkeys(":e Xfi*\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"e Xfile Xfile.c Xfile.o', @:)
+ set suffixes=.c
+ call feedkeys(":e Xfi*\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"e Xfile Xfile.o Xfile.c', @:)
+ set suffixes=,,
+ call feedkeys(":e Xfi*\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"e Xfile.c Xfile.o Xfile', @:)
+ set suffixes&
+ call delete('Xfile')
+ call delete('Xfile.c')
+ call delete('Xfile.o')
+endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index f675697772..96cf16ce46 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -2630,6 +2630,7 @@ endfunc
func Test_glob()
call assert_equal('', glob(test_null_string()))
call assert_equal('', globpath(test_null_string(), test_null_string()))
+ call assert_fails("let x = globpath(&rtp, 'syntax/c.vim', [])", 'E745:')
call writefile([], 'Xglob1')
call writefile([], 'XGLOB2')
diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim
index 75dda81d6d..e4293e3f10 100644
--- a/src/testdir/test_writefile.vim
+++ b/src/testdir/test_writefile.vim
@@ -471,7 +471,7 @@ func Test_write_readonly_dir()
" Root can do it too.
CheckNotRoot
- call mkdir('Xdir')
+ call mkdir('Xdir/')
call writefile(['one'], 'Xdir/Xfile1')
call setfperm('Xdir', 'r-xr--r--')
" try to create a new file in the directory
@@ -754,7 +754,7 @@ func Test_read_write_bin()
call assert_equal(0z6E6F656F6C0A, readfile('XNoEolSetEol', 'B'))
call delete('XNoEolSetEol')
- set ff&
+ set ff& fixeol&
bwipe! XNoEolSetEol
endfunc
@@ -897,4 +897,22 @@ func Test_write_backup_symlink()
call delete('Xfile.bak')
endfunc
+" Test for ':write ++bin' and ':write ++nobin'
+func Test_write_binary_file()
+ " create a file without an eol/eof character
+ call writefile(0z616161, 'Xfile1', 'b')
+ new Xfile1
+ write ++bin Xfile2
+ write ++nobin Xfile3
+ call assert_equal(0z616161, readblob('Xfile2'))
+ if has('win32')
+ call assert_equal(0z6161610D.0A, readblob('Xfile3'))
+ else
+ call assert_equal(0z6161610A, readblob('Xfile3'))
+ endif
+ call delete('Xfile1')
+ call delete('Xfile2')
+ call delete('Xfile3')
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index af4046250c..7fd4338226 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2873,
+/**/
2872,
/**/
2871,