Patch 8.2.0261
Problem:    Some code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5645)
Files:      src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim,
            src/testdir/test_exists.vim, src/testdir/test_filechanged.vim,
            src/testdir/test_fileformat.vim, src/testdir/test_mapping.vim,
            src/testdir/test_marks.vim, src/testdir/test_normal.vim,
            src/testdir/test_plus_arg_edit.vim, src/testdir/test_quickfix.vim,
            src/testdir/test_tabpage.vim, src/testdir/test_visual.vim,
            src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim


*** ../vim-8.2.0260/src/testdir/test_buffer.vim 2020-02-11 22:03:43.038846226 
+0100
--- src/testdir/test_buffer.vim 2020-02-16 13:28:49.060830136 +0100
***************
*** 61,66 ****
--- 61,157 ----
    call delete('b2')
    call delete('b3')
    call delete('b4')
+ 
+   call assert_fails('1,4bunload', 'E16:')
+   call assert_fails(',100bunload', 'E16:')
+ 
+   " Use a try-catch for this test. When assert_fails() is used for this
+   " test, the command fails with E515: instead of E90:
+   let caught_E90 = 0
+   try
+     $bunload
+   catch /E90:/
+     let caught_E90 = 1
+   endtry
+   call assert_equal(1, caught_E90)
+   call assert_fails('$bunload', 'E515:')
+ endfunc
+ 
+ " Test for :buffer, :bnext, :bprevious, :brewind, :blast and :bmodified
+ " commands
+ func Test_buflist_browse()
+   %bwipe!
+   call assert_fails('buffer 1000', 'E86:')
+ 
+   call writefile(['foo1', 'foo2', 'foo3', 'foo4'], 'Xfile1')
+   call writefile(['bar1', 'bar2', 'bar3', 'bar4'], 'Xfile2')
+   call writefile(['baz1', 'baz2', 'baz3', 'baz4'], 'Xfile3')
+   edit Xfile1
+   let b1 = bufnr()
+   edit Xfile2
+   let b2 = bufnr()
+   edit +/baz4 Xfile3
+   let b3 = bufnr()
+ 
+   call assert_fails('buffer ' .. b1 .. ' abc', 'E488:')
+   call assert_equal(b3, bufnr())
+   call assert_equal(4, line('.'))
+   exe 'buffer +/bar2 ' .. b2
+   call assert_equal(b2, bufnr())
+   call assert_equal(2, line('.'))
+   exe 'buffer +/bar1'
+   call assert_equal(b2, bufnr())
+   call assert_equal(1, line('.'))
+ 
+   brewind +/foo3
+   call assert_equal(b1, bufnr())
+   call assert_equal(3, line('.'))
+ 
+   blast +/baz2
+   call assert_equal(b3, bufnr())
+   call assert_equal(2, line('.'))
+ 
+   bprevious +/bar4
+   call assert_equal(b2, bufnr())
+   call assert_equal(4, line('.'))
+ 
+   bnext +/baz3
+   call assert_equal(b3, bufnr())
+   call assert_equal(3, line('.'))
+ 
+   call assert_fails('bmodified', 'E84:')
+   call setbufvar(b2, '&modified', 1)
+   exe 'bmodified +/bar3'
+   call assert_equal(b2, bufnr())
+   call assert_equal(3, line('.'))
+ 
+   " With no listed buffers in the list, :bnext and :bprev should fail
+   %bwipe!
+   set nobuflisted
+   call assert_fails('bnext', 'E85:')
+   call assert_fails('bprev', 'E85:')
+   set buflisted
+ 
+   call assert_fails('sandbox bnext', 'E48:')
+ 
+   call delete('Xfile1')
+   call delete('Xfile2')
+   call delete('Xfile3')
+   %bwipe!
+ endfunc
+ 
+ " Test for :bdelete
+ func Test_bdelete_cmd()
+   %bwipe!
+   call assert_fails('bdelete 5', 'E516:')
+ 
+   " Deleting a unlisted and unloaded buffer
+   edit Xfile1
+   let bnr = bufnr()
+   set nobuflisted
+   enew
+   call assert_fails('bdelete ' .. bnr, 'E516:')
+   %bwipe!
  endfunc
  
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_cmdline.vim        2020-02-14 
14:32:15.966616351 +0100
--- src/testdir/test_cmdline.vim        2020-02-16 13:28:49.060830136 +0100
***************
*** 632,640 ****
--- 632,663 ----
    1,\&s/b/B/
    call assert_equal('B', getline(2))
  
+   let @/ = 'apple'
+   call assert_fails('\/print', 'E486:')
+ 
    bwipe!
  endfunc
  
+ " Test for the tick mark (') in an excmd range
+ func Test_tick_mark_in_range()
+   " If only the tick is passed as a range and no command is specified, there
+   " should not be an error
+   call feedkeys(":'\<CR>", 'xt')
+   call assert_equal("'", getreg(':'))
+   call assert_fails("',print", 'E78:')
+ endfunc
+ 
+ " Test for using a line number followed by a search pattern as range
+ func Test_lnum_and_pattern_as_range()
+   new
+   call setline(1, ['foo 1', 'foo 2', 'foo 3'])
+   let @" = ''
+   2/foo/yank
+   call assert_equal("foo 3\n", @")
+   call assert_equal(1, line('.'))
+   close!
+ endfunc
+ 
  " Tests for getcmdline(), getcmdpos() and getcmdtype()
  func Check_cmdline(cmdtype)
    call assert_equal('MyCmd a', getcmdline())
***************
*** 934,937 ****
--- 957,980 ----
    call assert_fails('e <amatch>', 'E497:')
  endfunc
  
+ func Test_cmdwin_jump_to_win()
+   call assert_fails('call feedkeys("q:\<C-W>\<C-W>\<CR>", "xt")', 'E11:')
+   new
+   set modified
+   call assert_fails('call feedkeys("q/:qall\<CR>", "xt")', 'E162:')
+   close!
+   call feedkeys("q/:close\<CR>", "xt")
+   call assert_equal(1, winnr('$'))
+   call feedkeys("q/:exit\<CR>", "xt")
+   call assert_equal(1, winnr('$'))
+ endfunc
+ 
+ " Test for backtick expression in the command line
+ func Test_cmd_backtick()
+   %argd
+   argadd `=['a', 'b', 'c']`
+   call assert_equal(['a', 'b', 'c'], argv())
+   %argd
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_exists.vim 2017-10-12 20:30:58.000000000 
+0200
--- src/testdir/test_exists.vim 2020-02-16 13:28:49.060830136 +0100
***************
*** 94,101 ****
--- 94,105 ----
    call assert_equal(0, exists(':edit/a'))
    " Valid internal command (partial match)
    call assert_equal(1, exists(':q'))
+   " Valid internal command with a digit
+   call assert_equal(2, exists(':2match'))
    " Non-existing internal command
    call assert_equal(0, exists(':invalidcmd'))
+   " Internal command with a count
+   call assert_equal(0, exists(':3buffer'))
  
    " User defined command (full match)
    command! MyCmd :echo 'My command'
*** ../vim-8.2.0260/src/testdir/test_filechanged.vim    2020-02-03 
21:40:00.005363654 +0100
--- src/testdir/test_filechanged.vim    2020-02-16 13:28:49.060830136 +0100
***************
*** 146,148 ****
--- 146,163 ----
    bwipe!
    call delete('Xchanged_d')
  endfunc
+ 
+ " Test for editing a new buffer from a FileChangedShell autocmd
+ func Test_FileChangedShell_newbuf()
+   call writefile(['one', 'two'], 'Xfile')
+   new Xfile
+   augroup testnewbuf
+     autocmd FileChangedShell * enew
+   augroup END
+   call writefile(['red'], 'Xfile')
+   call assert_fails('checktime', 'E811:')
+   au! testnewbuf
+   call delete('Xfile')
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_fileformat.vim     2019-05-27 
22:18:04.000000000 +0200
--- src/testdir/test_fileformat.vim     2020-02-16 13:28:49.060830136 +0100
***************
*** 276,278 ****
--- 276,298 ----
    call delete('XXUxDsMc')
    call delete('Xtest')
  endfunc
+ 
+ " Test for changing the fileformat using ++read
+ func Test_fileformat_plusplus_read()
+   new
+   call setline(1, ['one', 'two', 'three'])
+   w ++ff=dos Xfile1
+   enew!
+   r ++fileformat=unix Xfile1
+   call assert_equal('unix', &fileformat)
+   3r ++edit Xfile1
+   call assert_equal('dos', &fileformat)
+   close!
+   call delete('Xfile1')
+   set fileformat&
+   call assert_fails('e ++fileformat Xfile1', 'E474:')
+   call assert_fails('e ++ff=abc Xfile1', 'E474:')
+   call assert_fails('e ++abc1 Xfile1', 'E474:')
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_mapping.vim        2020-02-11 
22:03:43.038846226 +0100
--- src/testdir/test_mapping.vim        2020-02-16 13:28:49.060830136 +0100
***************
*** 38,43 ****
--- 38,44 ----
  
     abclear
     call assert_equal("\n\nNo abbreviation found", execute('abbrev'))
+    call assert_fails('%abclear', 'E481:')
  endfunc
  
  func Test_abclear_buffer()
*** ../vim-8.2.0260/src/testdir/test_marks.vim  2020-01-15 20:36:52.140437085 
+0100
--- src/testdir/test_marks.vim  2020-02-16 13:28:49.060830136 +0100
***************
*** 212,215 ****
--- 212,224 ----
    bwipe!
  endfunc
  
+ " Test for :k command to set a mark
+ func Test_marks_k_cmd()
+   new
+   call setline(1, ['foo', 'bar', 'baz', 'qux'])
+   1,3kr
+   call assert_equal([0, 3, 1, 0], getpos("'r"))
+   close!
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_normal.vim 2019-12-01 15:08:14.000000000 
+0100
--- src/testdir/test_normal.vim 2020-02-16 13:28:49.064830117 +0100
***************
*** 2705,2707 ****
--- 2705,2723 ----
    bw!
    set cpoptions& number& numberwidth&
  endfunc
+ 
+ " Test for cursor movement with '-' in 'cpoptions'
+ func Test_normal_cpo_minus()
+   new
+   call setline(1, ['foo', 'bar', 'baz'])
+   let save_cpo = &cpo
+   set cpo+=-
+   call assert_beeps('normal 10j')
+   call assert_equal(1, line('.'))
+   normal G
+   call assert_beeps('normal 10k')
+   call assert_equal(3, line('.'))
+   call assert_fails(10, 'E16:')
+   let &cpo = save_cpo
+   close!
+ endfunc
*** ../vim-8.2.0260/src/testdir/test_plus_arg_edit.vim  2019-01-24 
17:44:13.000000000 +0100
--- src/testdir/test_plus_arg_edit.vim  2020-02-16 13:28:49.064830117 +0100
***************
*** 32,34 ****
--- 32,47 ----
    bw!
    call delete('Xfile')
  endfunc
+ 
+ " Test for ++bin and ++nobin arguments
+ func Test_binary_arg()
+   new
+   edit ++bin Xfile1
+   call assert_equal(1, &binary)
+   edit ++nobin Xfile2
+   call assert_equal(0, &binary)
+   call assert_fails('edit ++binabc Xfile3', 'E474:')
+   close!
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0260/src/testdir/test_quickfix.vim       2020-02-11 
22:03:43.038846226 +0100
--- src/testdir/test_quickfix.vim       2020-02-16 13:28:49.064830117 +0100
***************
*** 538,543 ****
--- 538,552 ----
    10Xcc
    call assert_equal(11, line('.'))
    call assert_equal('Xqftestfile2', bufname('%'))
+   Xopen
+   call cursor(2, 1)
+   if a:cchar == 'c'
+     .cc
+   else
+     .ll
+   endif
+   call assert_equal(6, line('.'))
+   call assert_equal('Xqftestfile1', bufname('%'))
  
    " Jumping to an error from the error window (when only the error window is
    " present)
*** ../vim-8.2.0260/src/version.c       2020-02-15 23:06:40.826770264 +0100
--- src/version.c       2020-02-16 13:30:35.560305945 +0100
***************
*** 744,745 ****
--- 744,747 ----
  {   /* Add new patch number below this line */
+ /**/
+     261,
  /**/

-- 
>From "know your smileys":
 y:-)   Bad toupee

 /// 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/202002161235.01GCZ8Ev021860%40masaka.moolenaar.net.

Raspunde prin e-mail lui