patch 8.0.0682: no test for synIDtrans()
Problem: No test for synIDtrans().
Solution: Add a test. (Dominique Pelle, closes #1796)
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index fef6341..33d7203 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -418,7 +418,7 @@
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 @@
bwipe!
endfunc
-
func Test_conceal()
if !has('conceal')
return
@@ -497,3 +496,27 @@
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
diff --git a/src/version.c b/src/version.c
index b06f938..c1d5ec8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 682,
+/**/
681,
/**/
680,