]> granicus.if.org Git - vim/commitdiff
patch 8.2.2847: Perl not tested sufficiently v8.2.2847
authorDominique Pelle <dominique.pelle@gmail.com>
Mon, 10 May 2021 21:49:39 +0000 (23:49 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 10 May 2021 21:49:39 +0000 (23:49 +0200)
Problem:    Perl not tested sufficiently.
Solution:   Add test.  Also test W17. (Dominique PellĂ©, closes #8193)

src/testdir/test_arabic.vim
src/testdir/test_perl.vim
src/version.c

index 272937387d4281b7337d8406f3e2522691fe8ef8..73b85c478329176bd17a05334eff3a898618b70e 100644 (file)
@@ -584,4 +584,12 @@ func Test_arabic_chars_in_search_cmd()
   bwipe!
 endfunc
 
+func Test_W17_arabic_requires_utf8()
+  let save_enc = &encoding
+  set encoding=latin1 arabic
+  call assert_match('^W17:', GetMessages()[-1])
+  set arabic&
+  let &encoding = save_enc
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
index c6427a71a709241386d70e3d1bafdf950feb50ec..c35f49c8f33a25e774e0ad65ec383e44ae5729e0 100644 (file)
@@ -1,6 +1,7 @@
 " Tests for Perl interface
 
 source check.vim
+source shared.vim
 CheckFeature perl
 
 " FIXME: RunTest don't see any error when Perl abort...
@@ -52,6 +53,11 @@ func Test_buffer_Append()
   perl @l = ('5' ..'7')
   perl $curbuf->Append(0, @l)
   call assert_equal(['5', '6', '7', '', '1', '2', '3', '4'], getline(1, '$'))
+
+  perl $curbuf->Append(0)
+  call assert_match('^Usage: VIBUF::Append(vimbuf, lnum, @lines) at .* line 1\.$',
+        \           GetMessages()[-1])
+
   bwipe!
 endfunc
 
@@ -61,6 +67,11 @@ func Test_buffer_Set()
   perl $curbuf->Set(2, 'a', 'b', 'c')
   perl $curbuf->Set(4, 'A', 'B', 'C')
   call assert_equal(['1', 'a', 'b', 'A', 'B'], getline(1, '$'))
+
+  perl $curbuf->Set(0)
+  call assert_match('^Usage: VIBUF::Set(vimbuf, lnum, @lines) at .* line 1\.$',
+        \           GetMessages()[-1])
+
   bwipe!
 endfunc
 
@@ -210,6 +221,13 @@ func Test_perldo()
   perldo VIM::DoCommand("%d_")
   bwipe!
 
+  " Check a Perl expression which gives an error.
+  new
+  call setline(1, 'one')
+  perldo 1/0
+  call assert_match('^Illegal division by zero at .* line 1\.$', GetMessages()[-1])
+  bwipe!
+
   " Check switching to another buffer does not trigger ml_get error.
   new
   let wincount = winnr('$')
@@ -231,12 +249,13 @@ endfunc
 func Test_stdio()
   redir =>l:out
   perl << trim EOF
-    VIM::Msg("&VIM::Msg");
+    VIM::Msg("VIM::Msg");
+    VIM::Msg("VIM::Msg Error", "Error");
     print "STDOUT";
     print STDERR "STDERR";
   EOF
   redir END
-  call assert_equal(['&VIM::Msg', 'STDOUT', 'STDERR'], split(l:out, "\n"))
+  call assert_equal(['VIM::Msg', 'VIM::Msg Error', 'STDOUT', 'STDERR'], split(l:out, "\n"))
 endfunc
 
 " Run first to get a clean namespace
index 4843be1318c14e6adb5bccb0d30424b38fffbcf0..f1f2a1cc2ed079e33325251262cf42f8b499dccc 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2847,
 /**/
     2846,
 /**/