From 588cf7547bafaff46a82bc125d05d24a1cedf827 Mon Sep 17 00:00:00 2001 From: Dominique Pelle Date: Mon, 10 May 2021 23:49:39 +0200 Subject: patch 8.2.2847: Perl not tested sufficiently MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: Perl not tested sufficiently. Solution: Add test. Also test W17. (Dominique Pellé, closes #8193) --- src/testdir/test_arabic.vim | 8 ++++++++ src/testdir/test_perl.vim | 23 +++++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) (limited to 'src/testdir') 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 -- cgit v1.2.3