Patch 8.2.2994
Problem:    Various code is not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #8378)
Files:      src/testdir/test_excmd.vim, src/testdir/test_mapping.vim,
            src/testdir/test_modeline.vim, src/testdir/test_options.vim,
            src/testdir/test_paste.vim, src/vim9compile.c


*** ../vim-8.2.2993/src/testdir/test_excmd.vim  2021-06-12 13:46:38.055854976 
+0200
--- src/testdir/test_excmd.vim  2021-06-13 21:49:44.585715050 +0200
***************
*** 596,602 ****
    " some options cannot be changed in a sandbox
    call assert_fails('set exrc', 'E48:')
    call assert_fails('set cdpath', 'E48:')
!   if has('xim')
      call assert_fails('set imstyle', 'E48:')
    endif
  endfunc
--- 596,602 ----
    " some options cannot be changed in a sandbox
    call assert_fails('set exrc', 'E48:')
    call assert_fails('set cdpath', 'E48:')
!   if has('xim') && has('gui_gtk')
      call assert_fails('set imstyle', 'E48:')
    endif
  endfunc
*** ../vim-8.2.2993/src/testdir/test_mapping.vim        2021-04-30 
19:43:06.618062735 +0200
--- src/testdir/test_mapping.vim        2021-06-13 21:49:44.585715050 +0200
***************
*** 485,490 ****
--- 485,495 ----
    call assert_equal(['n  ,k            <Nop>'],
          \ execute('nmap ,k')->trim()->split("\n"))
  
+   " map with space at the beginning
+   exe "nmap \<C-V> w <Nop>"
+   call assert_equal(['n  <Space>w      <Nop>'],
+         \ execute("nmap \<C-V> w")->trim()->split("\n"))
+ 
    nmapclear
  endfunc
  
***************
*** 1411,1414 ****
--- 1416,1434 ----
    bwipe!
  endfunc
  
+ " Test for abbreviations with 'latin1' encoding
+ func Test_abbreviate_latin1_encoding()
+   set encoding=latin1
+   call assert_fails('abbr ab#$c ABC', 'E474:')
+   new
+   iabbr <buffer> #i #include
+   iabbr <buffer> ## #enddef
+   exe "normal i#i\<C-]>"
+   call assert_equal('#include', getline(1))
+   exe "normal 0Di##\<C-]>"
+   call assert_equal('#enddef', getline(1))
+   %bw!
+   set encoding=utf-8
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.2993/src/testdir/test_modeline.vim       2020-08-12 
18:50:31.883655785 +0200
--- src/testdir/test_modeline.vim       2021-06-13 21:49:44.585715050 +0200
***************
*** 334,337 ****
--- 334,363 ----
    call delete('Xmodeline')
  endfunc
  
+ " Test for the 'modeline' default value in compatible and non-compatible modes
+ " for root and non-root accounts
+ func Test_modeline_default()
+   set compatible
+   call assert_false(&modeline)
+   set nocompatible
+   call assert_equal(IsRoot() ? 0 : 1, &modeline)
+   set compatible&vi
+   call assert_false(&modeline)
+   set compatible&vim
+   call assert_equal(IsRoot() ? 0 : 1, &modeline)
+   set compatible& modeline&
+ endfunc
+ 
+ " Some options cannot be set from the modeline when 'diff' option is set
+ func Test_modeline_diff_buffer()
+   call writefile(['vim: diff foldmethod=marker wrap'], 'Xfile')
+   set foldmethod& nowrap
+   new Xfile
+   call assert_equal('manual', &foldmethod)
+   call assert_false(&wrap)
+   set wrap&
+   call delete('Xfile')
+   bw
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.2993/src/testdir/test_options.vim        2021-06-13 
20:27:32.889357660 +0200
--- src/testdir/test_options.vim        2021-06-13 21:49:44.585715050 +0200
***************
*** 1160,1163 ****
--- 1160,1180 ----
    set cmdheight&
  endfunc
  
+ " To specify a control character as a option value, '^' can be used
+ func Test_opt_control_char()
+   set wildchar=^v
+   call assert_equal("\<C-V>", nr2char(&wildchar))
+   set wildcharm=^r
+   call assert_equal("\<C-R>", nr2char(&wildcharm))
+   " Bug: This doesn't work for the 'cedit' and 'termwinkey' options
+   set wildchar& wildcharm&
+ endfunc
+ 
+ " Test for the 'errorbells' option
+ func Test_opt_errorbells()
+   set errorbells
+   call assert_beeps('s/a1b2/x1y2/')
+   set noerrorbells
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.2993/src/testdir/test_paste.vim  2021-03-15 18:36:16.725494781 
+0100
--- src/testdir/test_paste.vim  2021-06-13 21:49:44.585715050 +0200
***************
*** 159,166 ****
--- 159,226 ----
    call feedkeys("i\<F4>", 'xt')
    call assert_false(&paste)
    call assert_equal('Hello', getline(1))
+   " command-line completion for 'pastetoggle' value
+   call feedkeys(":set pastetoggle=\<Tab>\<C-B>\"\<CR>", 'xt')
+   call assert_equal('"set pastetoggle=<F4>', @:)
    set pastetoggle&
    bwipe!
  endfunc
  
+ " Test for restoring option values when 'paste' is disabled
+ func Test_paste_opt_restore()
+   set autoindent expandtab ruler showmatch
+   if has('rightleft')
+     set revins hkmap
+   endif
+   set smarttab softtabstop=3 textwidth=27 wrapmargin=12
+   if has('vartabs')
+     set varsofttabstop=10,20
+   endif
+ 
+   " enabling 'paste' should reset the above options
+   set paste
+   call assert_false(&autoindent)
+   call assert_false(&expandtab)
+   if has('rightleft')
+     call assert_false(&revins)
+     call assert_false(&hkmap)
+   endif
+   call assert_false(&ruler)
+   call assert_false(&showmatch)
+   call assert_false(&smarttab)
+   call assert_equal(0, &softtabstop)
+   call assert_equal(0, &textwidth)
+   call assert_equal(0, &wrapmargin)
+   if has('vartabs')
+     call assert_equal('', &varsofttabstop)
+   endif
+ 
+   " disabling 'paste' should restore the option values
+   set nopaste
+   call assert_true(&autoindent)
+   call assert_true(&expandtab)
+   if has('rightleft')
+     call assert_true(&revins)
+     call assert_true(&hkmap)
+   endif
+   call assert_true(&ruler)
+   call assert_true(&showmatch)
+   call assert_true(&smarttab)
+   call assert_equal(3, &softtabstop)
+   call assert_equal(27, &textwidth)
+   call assert_equal(12, &wrapmargin)
+   if has('vartabs')
+     call assert_equal('10,20', &varsofttabstop)
+   endif
+ 
+   set autoindent& expandtab& ruler& showmatch&
+   if has('rightleft')
+     set revins& hkmap&
+   endif
+   set smarttab& softtabstop& textwidth& wrapmargin&
+   if has('vartabs')
+     set varsofttabstop&
+   endif
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.2993/src/vim9compile.c   2021-06-13 15:38:55.574605083 +0200
--- src/vim9compile.c   2021-06-13 21:49:44.585715050 +0200
***************
*** 454,460 ****
      if (name[len] == '(' || (p[0] == '-' && p[1] == '>'))
      {
        // Do not check for an internal function, since it might also be a
!       // valid command, such as ":split" versuse "split()".
        // Skip "g:" before a function name.
        is_global = (name[0] == 'g' && name[1] == ':');
        return find_func(is_global ? name + 2 : name, is_global, cctx) != NULL;
--- 454,460 ----
      if (name[len] == '(' || (p[0] == '-' && p[1] == '>'))
      {
        // Do not check for an internal function, since it might also be a
!       // valid command, such as ":split" versus "split()".
        // Skip "g:" before a function name.
        is_global = (name[0] == 'g' && name[1] == ':');
        return find_func(is_global ? name + 2 : name, is_global, cctx) != NULL;
*** ../vim-8.2.2993/src/version.c       2021-06-13 20:27:32.889357660 +0200
--- src/version.c       2021-06-13 21:51:36.173421760 +0200
***************
*** 752,753 ****
--- 752,755 ----
  {   /* Add new patch number below this line */
+ /**/
+     2994,
  /**/

-- 
BEDEVERE:        And what do you burn, apart from witches?
FOURTH VILLAGER: ... Wood?
BEDEVERE:        So why do witches burn?
SECOND VILLAGER: (pianissimo) ... Because they're made of wood...?
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202106131953.15DJrHRR682914%40masaka.moolenaar.net.

Raspunde prin e-mail lui