summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorDominique Pelle <dominique.pelle@gmail.com>2021-05-10 23:49:39 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-10 23:49:39 +0200
commit588cf7547bafaff46a82bc125d05d24a1cedf827 (patch)
tree658f0e2e7189e7704736877cb5509a13660cd38e /src/testdir
parent68db996b621b98066fb7ab7028ed5c6aaa3954a8 (diff)
patch 8.2.2847: Perl not tested sufficientlyv8.2.2847
Problem: Perl not tested sufficiently. Solution: Add test. Also test W17. (Dominique Pellé, closes #8193)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_arabic.vim8
-rw-r--r--src/testdir/test_perl.vim23
2 files changed, 29 insertions, 2 deletions
diff --git a/src/testdir/test_arabic.vim b/src/testdir/test_arabic.vim
index 272937387d..73b85c4783 100644
--- a/src/testdir/test_arabic.vim
+++ b/src/testdir/test_arabic.vim
@@ -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
diff --git a/src/testdir/test_perl.vim b/src/testdir/test_perl.vim
index c6427a71a7..c35f49c8f3 100644
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -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