changeset 11599:3cf157856dc8 v8.0.0682

patch 8.0.0682: no test for synIDtrans() commit https://github.com/vim/vim/commit/0b2eef24bcbe2c85c90bbde914a1782cbedc5c72 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 27 15:43:49 2017 +0200 patch 8.0.0682: no test for synIDtrans() Problem: No test for synIDtrans(). Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/1796)
author Christian Brabandt <cb@256bit.org>
date Tue, 27 Jun 2017 15:45:04 +0200
parents b6949d46de6b
children 8ea05b723b25
files src/testdir/test_syntax.vim src/version.c
diffstat 2 files changed, 27 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -418,7 +418,7 @@ func Test_bg_detection()
   hi Normal ctermbg=15
   call assert_equal('light', &bg)
 
-  " manually-set &bg takes precendence over auto-detection
+  " manually-set &bg takes precedence over auto-detection
   set bg=light
   hi Normal ctermbg=4
   call assert_equal('light', &bg)
@@ -461,7 +461,6 @@ func Test_syntax_hangs()
   bwipe!
 endfunc
 
-
 func Test_conceal()
   if !has('conceal')
     return
@@ -497,3 +496,27 @@ func Test_conceal()
   set conceallevel&
   bw!
 endfunc
+
+fun Test_synstack_synIDtrans()
+  new
+  setfiletype c
+  syntax on
+  call setline(1, ' /* A comment with a TODO */')
+
+  call assert_equal([], synstack(1, 1))
+
+  norm f/
+  call assert_equal(['cComment', 'cCommentStart'], map(synstack(line("."), col(".")), 'synIDattr(v:val, "name")'))
+  call assert_equal(['Comment', 'Comment'],        map(synstack(line("."), col(".")), 'synIDattr(synIDtrans(v:val), "name")'))
+
+  norm fA
+  call assert_equal(['cComment'], map(synstack(line("."), col(".")), 'synIDattr(v:val, "name")'))
+  call assert_equal(['Comment'],  map(synstack(line("."), col(".")), 'synIDattr(synIDtrans(v:val), "name")'))
+
+  norm fT
+  call assert_equal(['cComment', 'cTodo'], map(synstack(line("."), col(".")), 'synIDattr(v:val, "name")'))
+  call assert_equal(['Comment', 'Todo'],   map(synstack(line("."), col(".")), 'synIDattr(synIDtrans(v:val), "name")'))
+
+  syn clear
+  bw!
+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 */
 /**/
+    682,
+/**/
     681,
 /**/
     680,