Patch 8.1.1206
Problem:    User command parsing and listing not properly tested.
Solution:   Add more tests. (Dominique Pelle, closes #4296)
Files:      src/testdir/test_usercommands.vim


*** ../vim-8.1.1205/src/testdir/test_usercommands.vim   2018-12-08 
16:03:18.656085902 +0100
--- src/testdir/test_usercommands.vim   2019-04-25 22:39:52.634511195 +0200
***************
*** 304,306 ****
--- 304,446 ----
  
    delcommand DoSomething
  endfunc
+ 
+ func Test_command_list()
+   command! DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0                        :",
+         \           execute('command DoCmd'))
+ 
+   " Test with various -range= and -count= argument values.
+   command! -range DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .                   :",
+         \           execute('command DoCmd'))
+   command! -range=% DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    %                   :",
+         \           execute('command! DoCmd'))
+   command! -range=2 DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    2                   :",
+         \           execute('command DoCmd'))
+   command! -count=2 DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    2c                  :",
+         \           execute('command DoCmd'))
+ 
+   " Test with various -addr= argument values.
+   command! -addr=lines DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .                   :",
+         \           execute('command DoCmd'))
+   command! -addr=arguments DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  arg              :",
+         \           execute('command DoCmd'))
+   command! -addr=buffers DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  buf              :",
+         \           execute('command DoCmd'))
+   command! -addr=loaded_buffers DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  load             :",
+         \           execute('command DoCmd'))
+   command! -addr=windows DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  win              :",
+         \           execute('command DoCmd'))
+   command! -addr=tabs DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  tab              :",
+         \           execute('command DoCmd'))
+   command! -addr=other DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0    .  ?                :",
+         \           execute('command DoCmd'))
+ 
+   " Test with various -complete= argument values (non-exhaustive list)
+   command! -complete=arglist DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0            arglist     :",
+         \           execute('command DoCmd'))
+   command! -complete=augroup DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0            augroup     :",
+         \           execute('command DoCmd'))
+   command! -complete=custom,CustomComplete DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0            custom      :",
+         \           execute('command DoCmd'))
+   command! -complete=customlist,CustomComplete DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0            customlist  :",
+         \           execute('command DoCmd'))
+ 
+   " Test with various -narg= argument values.
+   command! -nargs=0 DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0                        :",
+         \           execute('command DoCmd'))
+   command! -nargs=1 DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             1                        :",
+         \           execute('command DoCmd'))
+   command! -nargs=* DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             *                        :",
+         \           execute('command DoCmd'))
+   command! -nargs=? DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             ?                        :",
+         \           execute('command DoCmd'))
+   command! -nargs=+ DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             +                        :",
+         \           execute('command DoCmd'))
+ 
+   " Test with other arguments.
+   command! -bang DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n!   DoCmd             0                        :",
+         \           execute('command DoCmd'))
+   command! -bar DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n|   DoCmd             0                        :",
+         \           execute('command DoCmd'))
+   command! -register DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n\"   DoCmd             0                        :",
+         \           execute('command DoCmd'))
+   command! -buffer DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\nb   DoCmd             0                        :"
+         \        .. "\n\"   DoCmd             0                        :",
+         \           execute('command DoCmd'))
+   comclear
+ 
+   " Test with many args.
+   command! -bang -bar -register -buffer -nargs=+ -complete=environment 
-addr=windows -count=3 DoCmd :
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n!\"b|DoCmd             +    3c win  environment :",
+         \           execute('command DoCmd'))
+   comclear
+ 
+   " Test with special characters in command definition.
+   command! DoCmd :<cr><tab><c-d>
+   call assert_equal("\n    Name              Args Address Complete    
Definition"
+         \        .. "\n    DoCmd             0                        
:<CR><Tab><C-D>",
+         \           execute('command DoCmd'))
+ 
+   " Test output in verbose mode.
+   command! DoCmd :
+   call assert_match("^\n"
+         \        .. "    Name              Args Address Complete    
Definition\n"
+         \        .. "    DoCmd             0                        :\n"
+         \        .. "\tLast set from .*/test_usercommands.vim line \\d\\+$",
+         \           execute('verbose command DoCmd'))
+ 
+   comclear
+   call assert_equal("\nNo user-defined commands found", execute(':command 
Xxx'))
+   call assert_equal("\nNo user-defined commands found", execute('command'))
+ endfunc
*** ../vim-8.1.1205/src/version.c       2019-04-25 22:21:56.935749161 +0200
--- src/version.c       2019-04-25 22:40:47.594283304 +0200
***************
*** 773,774 ****
--- 773,776 ----
  {   /* Add new patch number below this line */
+ /**/
+     1206,
  /**/

-- 
Futility Factor: No experiment is ever a complete failure - it can always
serve as a negative example.

 /// 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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui