From 10561fe0a37efd611ccb1517b37de12d2e37af0f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 19 May 2018 15:01:10 +0200 Subject: patch 8.1.0003: the :compiler command is not tested Problem: The :compiler command is not tested. Solution: Add a test. (Dominique Pelle, closes #2930) --- src/Makefile | 1 + src/testdir/test_alot.vim | 1 + src/testdir/test_compiler.vim | 50 +++++++++++++++++++++++++++++++++++++++++++ src/version.c | 2 ++ 4 files changed, 54 insertions(+) create mode 100644 src/testdir/test_compiler.vim diff --git a/src/Makefile b/src/Makefile index 98fd14220..0e4c55562 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2150,6 +2150,7 @@ test_arglist \ test_cmdline \ test_command_count \ test_comparators \ + test_compiler \ test_crypt \ test_cscope \ test_cursor_func \ diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim index b8a56502b..ac3ca74f5 100644 --- a/src/testdir/test_alot.vim +++ b/src/testdir/test_alot.vim @@ -5,6 +5,7 @@ source test_assign.vim source test_bufline.vim source test_cd.vim source test_changedtick.vim +source test_compiler.vim source test_cursor_func.vim source test_delete.vim source test_ex_undo.vim diff --git a/src/testdir/test_compiler.vim b/src/testdir/test_compiler.vim new file mode 100644 index 000000000..fd3510d60 --- /dev/null +++ b/src/testdir/test_compiler.vim @@ -0,0 +1,50 @@ +" Test the :compiler command + +func Test_compiler() + if !executable('perl') + return + endif + + e Xfoo.pl + compiler perl + call assert_equal('perl', b:current_compiler) + call assert_fails('let g:current_compiler', 'E121:') + + call setline(1, ['#!/usr/bin/perl -w', 'use strict;', 'my $foo=1']) + w! + call feedkeys(":make\\", 'tx') + call assert_fails('clist', 'E42:') + + call setline(1, ['#!/usr/bin/perl -w', 'use strict;', '$foo=1']) + w! + call feedkeys(":make\\", 'tx') + let a=execute('clist') + call assert_equal("\n 1 Xfoo.pl:3: Global symbol \"\$foo\" " + \ . "requires explicit package name " + \ . "(did you forget to declare \"my $foo\"?)", a) + + call delete('Xfoo.pl') + bw! +endfunc + +func Test_compiler_without_arg() + let a=split(execute('compiler')) + call assert_equal($VIMRUNTIME . '/compiler/ant.vim', a[0]) + call assert_equal($VIMRUNTIME . '/compiler/bcc.vim', a[1]) + call assert_equal($VIMRUNTIME . '/compiler/xmlwf.vim', a[-1]) +endfunc + +func Test_compiler_completion() + call feedkeys(":compiler \\\"\", 'tx') + call assert_match('^"compiler ant bcc .* xmlwf$', @:) + + call feedkeys(":compiler p\\\"\", 'tx') + call assert_equal('"compiler pbx perl php pylint pyunit', @:) + + call feedkeys(":compiler! p\\\"\", 'tx') + call assert_equal('"compiler! pbx perl php pylint pyunit', @:) +endfunc + +func Test_compiler_error() + call assert_fails('compiler doesnotexist', 'E666:') +endfunc diff --git a/src/version.c b/src/version.c index 9d92ef8cd..9ceabc7bf 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3, /**/ 2, /**/ -- cgit v1.2.1