From 0779fab2979d6d055ba3c464f1c2b9d90dc9e49f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 18 Jun 2020 22:18:18 +0200 Subject: [PATCH] patch 8.2.1008: Vim9: no test for disassambling newly added instructions Problem: Vim9: no test for disassambling newly added instructions. Solution: Add a function and check disassembly. --- src/testdir/test_vim9_disassemble.vim | 36 +++++++++++++++++++++++++++ src/version.c | 2 ++ 2 files changed, 38 insertions(+) diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim index 2e541d9f92..557b90bcc5 100644 --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -185,6 +185,42 @@ def Test_disassemble_store_member() res) enddef +def s:ListAssign() + let x: string + let y: string + let l: list + [x, y; l] = g:stringlist +enddef + +def Test_disassemble_list_assign() + let res = execute('disass s:ListAssign') + assert_match('\d*_ListAssign\_s*' .. + 'let x: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $0\_s*' .. + 'let y: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $1\_s*' .. + 'let l: list\_s*' .. + '\d NEWLIST size 0\_s*' .. + '\d STORE $2\_s*' .. + '\[x, y; l\] = g:stringlist\_s*' .. + '\d LOADG g:stringlist\_s*' .. + '\d CHECKTYPE list stack\[-1\]\_s*' .. + '\d CHECKLEN >= 2\_s*' .. + '\d\+ ITEM 0\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $0\_s*' .. + '\d\+ ITEM 1\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $1\_s*' .. + '\d\+ SLICE 2\_s*' .. + '\d\+ STORE $2\_s*' .. + '\d\+ PUSHNR 0\_s*' .. + '\d\+ RETURN', + res) +enddef + def s:ScriptFuncUnlet() g:somevar = "value" unlet g:somevar diff --git a/src/version.c b/src/version.c index 6ea02b95ad..a3fedf1cde 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1008, /**/ 1007, /**/