changeset 26907:6f43253463cc v8.2.3982

patch 8.2.3982: some lines of code not covered by tests Commit: https://github.com/vim/vim/commit/8bfa0eb863357c1013024233ebb2e95a0a848002 Author: Dominique Pelle <dominique.pelle@gmail.com> Date: Sun Jan 2 16:16:33 2022 +0000 patch 8.2.3982: some lines of code not covered by tests Problem: Some lines of code not covered by tests. Solution: Add a few more test cases. (Dominique Pell?, closes https://github.com/vim/vim/issues/9453)
author Bram Moolenaar <Bram@vim.org>
date Sun, 02 Jan 2022 17:30:02 +0100
parents 1b8859235072
children 006aa45685f9
files src/testdir/test_filter_map.vim src/testdir/test_highlight.vim src/testdir/test_regexp_latin.vim src/testdir/test_search.vim src/testdir/test_vim9_builtin.vim src/version.c
diffstat 6 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_filter_map.vim
+++ b/src/testdir/test_filter_map.vim
@@ -151,7 +151,7 @@ func Test_filter_map_string()
   let lines =<< trim END
     VAR s = "abc"
     call filter(s, '"b" != v:val')
-    call assert_equal(s, s)
+    call assert_equal('abc', s)
     call assert_equal('ac', filter('abc', '"b" != v:val'))
     call assert_equal('あいうえお', filter('あxいxうxえxお', '"x" != v:val'))
     call assert_equal('あa😊💕💕b💕', filter('あxax😊x💕💕b💕x', '"x" != v:val'))
@@ -172,7 +172,7 @@ func Test_filter_map_string()
   let lines =<< trim END
     VAR s = "abc"
     call map(s, 'nr2char(char2nr(v:val) + 2)')
-    call assert_equal(s, s)
+    call assert_equal('abc', s)
     call assert_equal('cde', map('abc', 'nr2char(char2nr(v:val) + 2)'))
     call assert_equal('[あ][i][う][え][お]', map('あiうえお', '"[" .. v:val .. "]"'))
     call assert_equal('[あ][a][😊][,][‱][‼][⁇][⁈][⁉][💕][b][💕][c][💕]', map('あa😊,‱‼⁇⁈⁉💕b💕c💕', '"[" .. v:val .. "]"'))
@@ -191,7 +191,7 @@ func Test_filter_map_string()
   let lines =<< trim END
     VAR s = "abc"
     call mapnew(s, 'nr2char(char2nr(v:val) + 2)')
-    call assert_equal(s, s)
+    call assert_equal('abc', s)
     call assert_equal('cde', mapnew('abc', 'nr2char(char2nr(v:val) + 2)'))
     call assert_equal('[あ][i][う][え][お]', mapnew('あiうえお', '"[" .. v:val .. "]"'))
     call assert_equal('[あ][a][😊][,][‱][‼][⁇][⁈][⁉][💕][b][💕][c][💕]', mapnew('あa😊,‱‼⁇⁈⁉💕b💕c💕', '"[" .. v:val .. "]"'))
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -922,17 +922,20 @@ func Test_highlight_default_colorscheme_
   let hlTestHiPre = HighlightArgs('TestHi')
 
   " Test colorscheme
+  call assert_equal("\ndefault", execute('colorscheme'))
   hi clear
   if exists('syntax_on')
     syntax reset
   endif
   let g:colors_name = 'test'
+  call assert_equal("\ntest", execute('colorscheme'))
   hi link TestLink ErrorMsg
   hi TestHi ctermbg=green
 
   " Restore default highlighting
   colorscheme default
   " 'default' should work no matter if highlight group was cleared
+  call assert_equal("\ndefault", execute('colorscheme'))
   hi def link TestLink Identifier
   hi def TestHi ctermbg=red
   let hlTestLinkPost = HighlightArgs('TestLink')
--- a/src/testdir/test_regexp_latin.vim
+++ b/src/testdir/test_regexp_latin.vim
@@ -6,7 +6,10 @@ scriptencoding latin1
 source check.vim
 
 func s:equivalence_test()
-  let str = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"
+  let str = 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '
+  \      .. 'a b c d e f g h i j k l m n o p q r s t u v w x y z '
+  \      .. "0 1 2 3 4 5 6 7 8 9 "
+  \      .. "` ~ ! ? ; : . , / \\ ' \" | < > [ ] { } ( ) @ # $ % ^ & * _ - + \b \e \f \n \r \t"
   let groups = split(str)
   for group1 in groups
       for c in split(group1, '\zs')
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1682,6 +1682,8 @@ func Test_invalid_regexp()
   call assert_fails("call search('\\(')", 'E54:')
   call assert_fails("call search('\\)')", 'E55:')
   call assert_fails("call search('\\z\\(\\)')", 'E66:')
+  call assert_fails("call search('\\z2')", 'E67:')
+  call assert_fails("call search('\\zx')", 'E867:')
   call assert_fails("call search('\\%[ab')", 'E69:')
   call assert_fails("call search('\\%[]')", 'E70:')
   call assert_fails("call search('\\%9999999999999999999999999999v')", 'E951:')
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -956,6 +956,8 @@ def Test_expandcmd()
 
   assert_equal("yes", expandcmd("`={a: 'yes'}['a']`"))
   expandcmd('')->assert_equal('')
+
+  CheckDefAndScriptFailure(['expandcmd([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1'])
 enddef
 
 def Test_extend_arg_types()
--- 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 */
 /**/
+    3982,
+/**/
     3981,
 /**/
     3980,