summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-02-23 13:45:57 +0100
committerBram Moolenaar <Bram@vim.org>2017-02-23 13:45:57 +0100
commitae177b716626c8d517b7c6c7d77f8b1aec6ba5f9 (patch)
treebbbb251c2462dcbe21164e5adbcec44311f3befe
parentfe344a9875667537ce32fc11936dc56ad51f2139 (diff)
patch 8.0.0350: not enough test coverage for Perlv8.0.0350
Problem: Not enough test coverage for Perl. Solution: Add more Perl tests. (Dominique Perl, closes #1500)
-rw-r--r--src/testdir/test_perl.vim112
-rw-r--r--src/version.c2
2 files changed, 108 insertions, 6 deletions
diff --git a/src/testdir/test_perl.vim b/src/testdir/test_perl.vim
index f2b991aa7b..16fc687192 100644
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -26,7 +26,107 @@ EOF
call assert_equal('abc/def/', getline('$'))
endfunc
-fu <SID>catch_peval(expr)
+func Test_buffer_Delete()
+ new
+ call setline(1, ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'])
+ perl $curbuf->Delete(7)
+ perl $curbuf->Delete(2, 5)
+ perl $curbuf->Delete(10)
+ call assert_equal(['a', 'f', 'h'], getline(1, '$'))
+ bwipe!
+endfunc
+
+func Test_buffer_Append()
+ new
+ perl $curbuf->Append(1, '1')
+ perl $curbuf->Append(2, '2', '3', '4')
+ perl @l = ('5' ..'7')
+ perl $curbuf->Append(0, @l)
+ call assert_equal(['5', '6', '7', '', '1', '2', '3', '4'], getline(1, '$'))
+ bwipe!
+endfunc
+
+func Test_buffer_Set()
+ new
+ call setline(1, ['1', '2', '3', '4', '5'])
+ perl $curbuf->Set(2, 'a', 'b', 'c')
+ perl $curbuf->Set(4, 'A', 'B', 'C')
+ call assert_equal(['1', 'a', 'b', 'A', 'B'], getline(1, '$'))
+ bwipe!
+endfunc
+
+func Test_buffer_Get()
+ new
+ call setline(1, ['1', '2', '3', '4'])
+ call assert_equal('2:3', perleval('join(":", $curbuf->Get(2, 3))'))
+ bwipe!
+endfunc
+
+func Test_buffer_Count()
+ new
+ call setline(1, ['a', 'b', 'c'])
+ call assert_equal(3, perleval('$curbuf->Count()'))
+ bwipe!
+endfunc
+
+func Test_buffer_Name()
+ new
+ call assert_equal('', perleval('$curbuf->Name()'))
+ bwipe!
+ new Xfoo
+ call assert_equal('Xfoo', perleval('$curbuf->Name()'))
+ bwipe!
+endfunc
+
+func Test_buffer_Number()
+ call assert_equal(bufnr('%'), perleval('$curbuf->Number()'))
+endfunc
+
+func Test_window_Cursor()
+ new
+ call setline(1, ['line1', 'line2'])
+ perl $curwin->Cursor(2, 3)
+ call assert_equal('2:3', perleval('join(":", $curwin->Cursor())'))
+ " Col is numbered from 0 in Perl, and from 1 in Vim script.
+ call assert_equal([0, 2, 4, 0], getpos('.'))
+ bwipe!
+endfunc
+
+func Test_window_SetHeight()
+ new
+ perl $curwin->SetHeight(2)
+ call assert_equal(2, winheight(0))
+ bwipe!
+endfunc
+
+func Test_VIM_Windows()
+ new
+ " VIM::Windows() without argument in scalar and list context.
+ perl $winnr = VIM::Windows()
+ perl @winlist = VIM::Windows()
+ perl $curbuf->Append(0, $winnr, scalar(@winlist))
+ call assert_equal(['2', '2', ''], getline(1, '$'))
+
+ " VIM::Windows() with window number argument.
+ perl VIM::Windows(VIM::Eval('winnr()'))->Buffer()->Set(1, 'bar')
+ call assert_equal('bar', getline(1))
+ bwipe!
+endfunc
+
+func Test_VIM_Buffers()
+ new Xbar
+ " VIM::Buffers() without argument in scalar and list context.
+ perl $nbuf = VIM::Buffers()
+ perl @buflist = VIM::Buffers()
+
+ " VIM::Buffers() with argument.
+ perl $mybuf = (VIM::Buffers('Xbar'))[0]
+ perl $mybuf->Append(0, $nbuf, scalar(@buflist))
+ call assert_equal(['2', '2', ''], getline(1, '$'))
+ bwipe!
+endfunc
+
+func <SID>catch_peval(expr)
try
call perleval(a:expr)
catch
@@ -36,7 +136,7 @@ fu <SID>catch_peval(expr)
return ''
endfunc
-function Test_perleval()
+func Test_perleval()
call assert_false(perleval('undef'))
" scalar
@@ -75,7 +175,7 @@ function Test_perleval()
call assert_true(perleval('\\0') =~ 'SCALAR(0x\x\+)')
endfunc
-function Test_perldo()
+func Test_perldo()
sp __TEST__
exe 'read ' g:testname
perldo s/perl/vieux_chameau/g
@@ -99,7 +199,7 @@ function Test_perldo()
bwipe!
endfunc
-function Test_VIM_package()
+func Test_VIM_package()
perl VIM::DoCommand('let l:var = "foo"')
call assert_equal(l:var, 'foo')
@@ -108,7 +208,7 @@ function Test_VIM_package()
call assert_true(&et)
endfunc
-function Test_stdio()
+func Test_stdio()
redir =>l:out
perl <<EOF
VIM::Msg("&VIM::Msg");
@@ -119,7 +219,7 @@ EOF
call assert_equal(['&VIM::Msg', 'STDOUT', 'STDERR'], split(l:out, "\n"))
endfunc
-function Test_SvREFCNT()
+func Test_SvREFCNT()
new t
perl <<--perl
my ($b, $w);
diff --git a/src/version.c b/src/version.c
index 24b24df7aa..bd271cc38f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 350,
+/**/
349,
/**/
348,