changeset 10476:751851a84c41 v8.0.0131

commit https://github.com/vim/vim/commit/73b484c4da00011317dc68ada4f5dfc6515ad263 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 11 15:11:17 2016 +0100 patch 8.0.0131 Problem: Not enough test coverage for syntax commands. Solution: Add more tests. (Dominique Pelle)
author Christian Brabandt <cb@256bit.org>
date Sun, 11 Dec 2016 15:15:04 +0100
parents 2eeefa20f13c
children 15b8ff1cfe28
files src/testdir/test_syntax.vim src/version.c
diffstat 2 files changed, 79 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -54,7 +54,7 @@ func Test_syn_iskeyword()
   setlocal isk-=_
   call assert_equal('DLTD_BY', GetSyntaxItem('DLTD'))
   /\<D\k\+\>/:norm! ygn
-  let b2=@0
+  let b2 = @0
   call assert_equal('DLTD', @0)
 
   syn iskeyword clear
@@ -80,3 +80,79 @@ func Test_syntax_after_reload()
   call assert_true(exists('g:gotit'))
   call delete('Xsomefile')
 endfunc
+
+func Test_syntime()
+  if !has('profile')
+    finish
+  endif
+
+  syntax on
+  syntime on
+  let a = execute('syntime report')
+  call assert_equal("\nNo Syntax items defined for this buffer", a)
+
+  view ../memfile_test.c
+  setfiletype cpp
+  redraw
+  let a = execute('syntime report')
+  call assert_match('^  TOTAL *COUNT *MATCH *SLOWEST *AVERAGE *NAME *PATTERN', a)
+  call assert_match(' \d*\.\d* \+[^0]\d* .* cppRawString ', a)
+  call assert_match(' \d*\.\d* \+[^0]\d* .* cppNumber ', a)
+
+  syntime off
+  syntime clear
+  let a = execute('syntime report')
+  call assert_match('^  TOTAL *COUNT *MATCH *SLOWEST *AVERAGE *NAME *PATTERN', a)
+  call assert_notmatch('.* cppRawString *', a)
+  call assert_notmatch('.* cppNumber*', a)
+  call assert_notmatch('[1-9]', a)
+
+  call assert_fails('syntime abc', 'E475')
+
+  syntax clear
+  let a = execute('syntime report')
+  call assert_equal("\nNo Syntax items defined for this buffer", a)
+
+  bd
+endfunc
+
+func Test_syntax_list()
+  syntax on
+  let a = execute('syntax list')
+  call assert_equal("\nNo Syntax items defined for this buffer", a)
+
+  view ../memfile_test.c
+  setfiletype c
+
+  let a = execute('syntax list')
+  call assert_match('cInclude*', a)
+  call assert_match('cDefine', a)
+
+  let a = execute('syntax list cDefine')
+  call assert_notmatch('cInclude*', a)
+  call assert_match('cDefine', a)
+  call assert_match(' links to Macro$', a)
+
+  call assert_fails('syntax list ABCD', 'E28:')
+  call assert_fails('syntax list @ABCD', 'E392:')
+
+  syntax clear
+  let a = execute('syntax list')
+  call assert_equal("\nNo Syntax items defined for this buffer", a)
+
+  bd
+endfunc
+
+func Test_syntax_completion()
+  call feedkeys(":syn \<C-A>\<C-B>\"\<CR>", 'tx')
+  call assert_equal('"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync', @:)
+
+  call feedkeys(":syn case \<C-A>\<C-B>\"\<CR>", 'tx')
+  call assert_equal('"syn case ignore match', @:)
+
+  call feedkeys(":syn list \<C-A>\<C-B>\"\<CR>", 'tx')
+  call assert_match('^"syn list Boolean Character ', @:)
+
+  call feedkeys(":syn match \<C-A>\<C-B>\"\<CR>", 'tx')
+  call assert_match('^"syn match Boolean Character ', @:)
+endfunc
--- 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 */
 /**/
+    131,
+/**/
     130,
 /**/
     129,