Patch 8.2.0275
Problem:    Some Ex code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5659)
Files:      src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim,
            src/testdir/test_excmd.vim, src/testdir/test_quickfix.vim,
            src/testdir/test_search.vim, src/testdir/test_swap.vim,
            src/testdir/test_window_cmd.vim


*** ../vim-8.2.0274/src/testdir/test_arglist.vim        2020-02-11 
22:03:43.038846226 +0100
--- src/testdir/test_arglist.vim        2020-02-18 21:49:18.555111485 +0100
***************
*** 519,524 ****
--- 519,538 ----
    call term_sendkeys(buf, ":quit\n")
    call WaitForAssert({-> assert_match('^E173:', term_getline(buf, 6))})
    call StopVimInTerminal(buf)
+ 
+   " Try :confirm quit with unedited files in arglist
+   let buf = RunVimInTerminal('', {'rows': 6})
+   call term_sendkeys(buf, ":set nomore\n")
+   call term_sendkeys(buf, ":args a b c\n")
+   call term_sendkeys(buf, ":confirm quit\n")
+   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
+         \ term_getline(buf, 6))})
+   call term_sendkeys(buf, "N")
+   call term_sendkeys(buf, ":confirm quit\n")
+   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
+         \ term_getline(buf, 6))})
+   call term_sendkeys(buf, "Y")
+   call StopVimInTerminal(buf)
  endfunc
  
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0274/src/testdir/test_autocmd.vim        2020-02-17 
21:33:26.266098800 +0100
--- src/testdir/test_autocmd.vim        2020-02-18 21:49:18.563111458 +0100
***************
*** 2358,2361 ****
--- 2358,2385 ----
    setglobal spellfile=
  endfunc
  
+ " Test closing a window or editing another buffer from a FileChangedRO handler
+ " in a readonly buffer
+ func Test_FileChangedRO_winclose()
+   augroup FileChangedROTest
+     au!
+     autocmd FileChangedRO * quit
+   augroup END
+   new
+   set readonly
+   call assert_fails('normal i', 'E788:')
+   close
+   augroup! FileChangedROTest
+ 
+   augroup FileChangedROTest
+     au!
+     autocmd FileChangedRO * edit Xfile
+   augroup END
+   new
+   set readonly
+   call assert_fails('normal i', 'E788:')
+   close
+   augroup! FileChangedROTest
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0274/src/testdir/test_excmd.vim  2020-02-17 21:33:26.266098800 
+0100
--- src/testdir/test_excmd.vim  2020-02-18 21:49:18.563111458 +0100
***************
*** 238,243 ****
--- 238,259 ----
    call assert_equal(['foo4'], readfile('foo'))
    call assert_equal(['bar2'], readfile('bar'))
  
+   " Test for closing a window with a modified buffer
+   let buf = RunVimInTerminal('', {'rows': 20})
+   call term_sendkeys(buf, ":set nomore\n")
+   call term_sendkeys(buf, ":new\n")
+   call term_sendkeys(buf, ":call setline(1, 'abc')\n")
+   call term_sendkeys(buf, ":confirm close\n")
+   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
+         \ term_getline(buf, 20))}, 1000)
+   call term_sendkeys(buf, "C")
+   call term_sendkeys(buf, ":confirm close\n")
+   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
+         \ term_getline(buf, 20))}, 1000)
+   call term_sendkeys(buf, "N")
+   call term_sendkeys(buf, ":quit\n")
+   call StopVimInTerminal(buf)
+ 
    call delete('foo')
    call delete('bar')
  endfunc
*** ../vim-8.2.0274/src/testdir/test_quickfix.vim       2020-02-16 
13:33:52.051371829 +0100
--- src/testdir/test_quickfix.vim       2020-02-18 21:49:18.567111444 +0100
***************
*** 4195,4200 ****
--- 4195,4214 ----
    call assert_equal(0, getloclist(0, {'winid' : 0}).winid)
    new | only
  
+   " Using :split or :vsplit from a quickfix window should behave like a :new
+   " or a :vnew command
+   copen
+   split
+   call assert_equal(3, winnr('$'))
+   let l = getwininfo()
+   call assert_equal([0, 0, 1], [l[0].quickfix, l[1].quickfix, l[2].quickfix])
+   close
+   copen
+   vsplit
+   let l = getwininfo()
+   call assert_equal([0, 0, 1], [l[0].quickfix, l[1].quickfix, l[2].quickfix])
+   new | only
+ 
    call delete('Xtestfile1')
    call delete('Xtestfile2')
  endfunc
*** ../vim-8.2.0274/src/testdir/test_search.vim 2020-02-11 22:03:43.038846226 
+0100
--- src/testdir/test_search.vim 2020-02-18 21:49:18.567111444 +0100
***************
*** 1515,1518 ****
--- 1515,1545 ----
    call delete('Xresult')
  endfunc
  
+ " Test for searching a pattern that is not present with 'nowrapscan'
+ func Test_search_pat_not_found()
+   new
+   set nowrapscan
+   let @/ = '1abcxyz2'
+   call assert_fails('normal n', 'E385:')
+   call assert_fails('normal N', 'E384:')
+   set wrapscan&
+   close
+ endfunc
+ 
+ " Test for v:searchforward variable
+ func Test_searchforward_var()
+   new
+   call setline(1, ['foo', '', 'foo'])
+   call cursor(2, 1)
+   let @/ = 'foo'
+   let v:searchforward = 0
+   normal N
+   call assert_equal(3, line('.'))
+   call cursor(2, 1)
+   let v:searchforward = 1
+   normal N
+   call assert_equal(1, line('.'))
+   close!
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0274/src/testdir/test_swap.vim   2019-10-10 16:40:31.000000000 
+0200
--- src/testdir/test_swap.vim   2020-02-18 21:49:18.567111444 +0100
***************
*** 277,283 ****
      autocmd SwapExists * let v:swapchoice = 'r'
    augroup END
  
- 
    " Create a valid swapfile by editing a file with a special extension.
    split Xtest.scr
    call setline(1, ['one', 'two', 'three'])
--- 277,282 ----
***************
*** 309,311 ****
--- 308,352 ----
    augroup END
    augroup! test_swap_recover_ext
  endfunc
+ 
+ " Test for closing a split window automatically when a swap file is detected
+ " and 'Q' is selected in the confirmation prompt.
+ func Test_swap_split_win()
+   autocmd! SwapExists
+   augroup test_swap_splitwin
+     autocmd!
+     autocmd SwapExists * let v:swapchoice = 'q'
+   augroup END
+ 
+   " Create a valid swapfile by editing a file with a special extension.
+   split Xtest.scr
+   call setline(1, ['one', 'two', 'three'])
+   write  " file is written, not modified
+   write  " write again to make sure the swapfile is created
+   " read the swapfile as a Blob
+   let swapfile_name = swapname('%')
+   let swapfile_bytes = readfile(swapfile_name, 'B')
+ 
+   " Close and delete the file and recreate the swap file.
+   quit
+   call delete('Xtest.scr')
+   call writefile(swapfile_bytes, swapfile_name)
+   " Split edit the file again. This should fail to open the window
+   try
+     split Xtest.scr
+   catch
+     " E308 should be caught, not E306.
+     call assert_exception('E308:')  " Original file may have been changed
+   endtry
+   call assert_equal(1, winnr('$'))
+ 
+   call delete('Xtest.scr')
+   call delete(swapfile_name)
+ 
+   augroup test_swap_splitwin
+       autocmd!
+   augroup END
+   augroup! test_swap_splitwin
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0274/src/testdir/test_window_cmd.vim     2020-02-17 
21:33:26.270098788 +0100
--- src/testdir/test_window_cmd.vim     2020-02-18 21:49:18.567111444 +0100
***************
*** 965,968 ****
--- 965,976 ----
    call assert_fails('winpos 10', 'E466:')
  endfunc
  
+ " Test for +cmd in a :split command
+ func Test_split_cmd()
+   split +set\ readonly
+   call assert_equal(1, &readonly)
+   call assert_equal(2, winnr('$'))
+   close
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0274/src/version.c       2020-02-18 21:32:55.854340478 +0100
--- src/version.c       2020-02-18 21:50:28.238882470 +0100
***************
*** 740,741 ****
--- 740,743 ----
  {   /* Add new patch number below this line */
+ /**/
+     275,
  /**/

-- 
>From "know your smileys":
 =):-)  Uncle Sam

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            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/202002182055.01IKtApR012194%40masaka.moolenaar.net.

Raspunde prin e-mail lui