changeset 22814:bb1b21a2aae3 v8.2.1955

patch 8.2.1955: Vim9: not all command modifiers are tested Commit: https://github.com/vim/vim/commit/66669fc6647201649e75a214e72b768fc86b7ed3 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Nov 4 18:53:35 2020 +0100 patch 8.2.1955: Vim9: not all command modifiers are tested Problem: Vim9: not all command modifiers are tested. Solution: Add tests for remaining modifiers.
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Nov 2020 19:00:03 +0100
parents 3b2899c150d3
children 32b05651143b
files src/testdir/test_vim9_cmd.vim src/version.c
diffstat 2 files changed, 58 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -478,15 +478,62 @@ def Test_command_modifiers_keep()
 enddef
 
 def Test_command_modifier_other()
-  # TODO
-  # hide
-  # noautocmd
-  # noswapfile
-  # sandbox
-  # silent
-  # silent!
-  # unsilent
-  # verbose
+  new Xsomefile
+  setline(1, 'changed')
+  var buf = bufnr()
+  hide edit Xotherfile
+  var info = getbufinfo(buf)
+  assert_equal(1, info[0].hidden)
+  assert_equal(1, info[0].changed)
+  edit Xsomefile
+  bwipe!
+
+  au BufNewFile Xfile g:readFile = 1
+  g:readFile = 0
+  edit Xfile
+  assert_equal(1, g:readFile)
+  bwipe!
+  g:readFile = 0
+  noautocmd edit Xfile
+  assert_equal(0, g:readFile)
+
+  noswapfile edit XnoSwap
+  assert_equal(0, &l:swapfile)
+  bwipe!
+
+  var caught = false
+  try
+    sandbox !ls
+  catch /E48:/
+    caught = true
+  endtry
+  assert_true(caught)
+
+  :8verbose g:verbose_now = &verbose
+  assert_equal(8, g:verbose_now)
+  unlet g:verbose_now
+enddef
+
+def EchoHere()
+  echomsg 'here'
+enddef
+def EchoThere()
+  unsilent echomsg 'there'
+enddef
+
+def Test_modifier_silent_unsilent()
+  echomsg 'last one'
+  silent echomsg "text"
+  assert_equal("\nlast one", execute(':1messages'))
+
+  silent! echoerr "error"
+
+  echomsg 'last one'
+  silent EchoHere()
+  assert_equal("\nlast one", execute(':1messages'))
+
+  silent EchoThere()
+  assert_equal("\nthere", execute(':1messages'))
 enddef
 
 def Test_range_after_command_modifier()
@@ -587,17 +634,5 @@ def Test_f_args()
   CheckScriptSuccess(lines)
 enddef
 
-def Test_modifier_silent()
-  echomsg 'last one'
-  silent echomsg "text"
-  redir => g:testmsg
-    :1messages
-  redir END
-  assert_equal("\nlast one", g:testmsg)
-  unlet g:testmsg
-
-  silent! echoerr "error"
-enddef
-
 
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
--- 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 */
 /**/
+    1955,
+/**/
     1954,
 /**/
     1953,