changeset 14810:d47c8d294d1a v8.1.0417

patch 8.1.0417: several command line arguments are not tested commit https://github.com/vim/vim/commit/036b09ca78c5516d2b914ebc9494bf7580b8fed8 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 21 12:54:06 2018 +0200 patch 8.1.0417: several command line arguments are not tested Problem: Several command line arguments are not tested. Solution: Add tests for -m, -M, -R and -Vfile. (Dominique Pelle, closes #3458)
author Christian Brabandt <cb@256bit.org>
date Fri, 21 Sep 2018 13:00:07 +0200
parents d705b469b2ad
children ae6532037d29
files src/testdir/test_startup.vim src/version.c
diffstat 2 files changed, 48 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_startup.vim
+++ b/src/testdir/test_startup.vim
@@ -194,8 +194,8 @@ func Test_o_arg()
     " Open 2 windows split vertically. Expect:
     " - 2 windows
     " - both windows should have the same or almost the same width
-    " - sum of both windows width (+ 1 separator) should be equal to the
-    "   number of columns
+    " - sum of both windows width (+ 1 for the separator) should be equal to
+    "   the number of columns
     " - both windows should have the same height
     " - window height (+ 2 for the statusline and Ex command) should be equal
     "   to the number of lines
@@ -269,6 +269,48 @@ func Test_V_arg()
    call assert_match("sourcing \"$VIMRUNTIME[\\/]defaults\.vim\"\r\nline 1: \" The default vimrc file\..*  verbose=15\n", out)
 endfunc
 
+" Test the -V[N]{filename} argument to set the 'verbose' option to N
+" and set 'verbosefile' to filename.
+func Test_V_file_arg()
+  if RunVim([], [], ' --clean -X -V2Xverbosefile -c "set verbose? verbosefile?" -cq')
+    let out = join(readfile('Xverbosefile'), "\n")
+    call assert_match("sourcing \"$VIMRUNTIME[\\/]defaults\.vim\"\n", out)
+    call assert_match("\n  verbose=2\n", out)
+    call assert_match("\n  verbosefile=Xverbosefile", out)
+  endif
+
+  call delete('Xverbosefile')
+endfunc
+
+" Test the -m, -M and -R arguments:
+" -m resets 'write'
+" -M resets 'modifiable' and 'write'
+" -R sets 'readonly'
+func Test_m_M_R()
+  let after = [
+	\ 'call writefile([&write, &modifiable, &readonly, &updatecount], "Xtestout")',
+	\ 'qall',
+	\ ]
+  if RunVim([], after, '')
+    let lines = readfile('Xtestout')
+    call assert_equal(['1', '1', '0', '200'], lines)
+  endif
+  if RunVim([], after, '-m')
+    let lines = readfile('Xtestout')
+    call assert_equal(['0', '1', '0', '200'], lines)
+  endif
+  if RunVim([], after, '-M')
+    let lines = readfile('Xtestout')
+    call assert_equal(['0', '0', '0', '200'], lines)
+  endif
+  if RunVim([], after, '-R')
+    let lines = readfile('Xtestout')
+    call assert_equal(['1', '1', '1', '10000'], lines)
+  endif
+
+  call delete('Xtestout')
+endfunc
+
 " Test the -A, -F and -H arguments (Arabic, Farsi and Hebrew modes).
 func Test_A_F_H_arg()
   let after = [
@@ -430,7 +472,7 @@ func Test_zzz_startinsert()
   call writefile(['123456'], 'Xtestout')
   let after = [
 	\ ':startinsert',
-  \ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")'
+	\ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")'
 	\ ]
   if RunVim([], after, 'Xtestout')
     let lines = readfile('Xtestout')
@@ -440,7 +482,7 @@ func Test_zzz_startinsert()
   call writefile(['123456'], 'Xtestout')
   let after = [
 	\ ':startinsert!',
-  \ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")'
+	\ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")'
 	\ ]
   if RunVim([], after, 'Xtestout')
     let lines = readfile('Xtestout')
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    417,
+/**/
     416,
 /**/
     415,