Mercurial > vim
comparison src/testdir/test_vim9_disassemble.vim @ 28625:56860e29ce5d v8.2.4836
patch 8.2.4836: Vim9: some lines not covered by tests
Commit: https://github.com/vim/vim/commit/f6ced9863f931758a4cee0b6546e77d21150806d
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 28 12:00:49 2022 +0100
patch 8.2.4836: Vim9: some lines not covered by tests
Problem: Vim9: some lines not covered by tests.
Solution: Remove dead code. Add disassemble tests.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 28 Apr 2022 13:15:04 +0200 |
parents | 1d92ba691dc4 |
children | bfd8e25fa207 |
comparison
equal
deleted
inserted
replaced
28624:cfe842c7e379 | 28625:56860e29ce5d |
---|---|
263 res) | 263 res) |
264 enddef | 264 enddef |
265 | 265 |
266 def s:PutRange() | 266 def s:PutRange() |
267 :$-2put a | 267 :$-2put a |
268 :$-3put! b | |
268 enddef | 269 enddef |
269 | 270 |
270 def Test_disassemble_put_range() | 271 def Test_disassemble_put_range() |
271 var res = execute('disass s:PutRange') | 272 var res = execute('disass s:PutRange') |
272 assert_match('<SNR>\d*_PutRange.*' .. | 273 assert_match('<SNR>\d*_PutRange.*' .. |
273 ' :$-2put a\_s*' .. | 274 ' :$-2put a\_s*' .. |
274 '\d RANGE $-2\_s*' .. | 275 '\d RANGE $-2\_s*' .. |
275 '\d PUT a range\_s*' .. | 276 '\d PUT a range\_s*' .. |
277 | |
278 ' :$-3put! b\_s*' .. | |
279 '\d RANGE $-3\_s*' .. | |
280 '\d PUT b above range\_s*' .. | |
276 '\d RETURN void', | 281 '\d RETURN void', |
277 res) | 282 res) |
278 enddef | 283 enddef |
279 | 284 |
280 def s:ScriptFuncPush() | 285 def s:ScriptFuncPush() |
682 def s:ScriptFuncUnlet() | 687 def s:ScriptFuncUnlet() |
683 g:somevar = "value" | 688 g:somevar = "value" |
684 unlet g:somevar | 689 unlet g:somevar |
685 unlet! g:somevar | 690 unlet! g:somevar |
686 unlet $SOMEVAR | 691 unlet $SOMEVAR |
692 | |
693 var l = [1, 2, 3] | |
694 unlet l[2] | |
695 unlet l[0 : 1] | |
687 enddef | 696 enddef |
688 | 697 |
689 def Test_disassemble_unlet() | 698 def Test_disassemble_unlet() |
690 var res = execute('disass s:ScriptFuncUnlet') | 699 var res = execute('disass s:ScriptFuncUnlet') |
691 assert_match('<SNR>\d*_ScriptFuncUnlet\_s*' .. | 700 assert_match('<SNR>\d*_ScriptFuncUnlet\_s*' .. |
695 'unlet g:somevar\_s*' .. | 704 'unlet g:somevar\_s*' .. |
696 '\d UNLET g:somevar\_s*' .. | 705 '\d UNLET g:somevar\_s*' .. |
697 'unlet! g:somevar\_s*' .. | 706 'unlet! g:somevar\_s*' .. |
698 '\d UNLET! g:somevar\_s*' .. | 707 '\d UNLET! g:somevar\_s*' .. |
699 'unlet $SOMEVAR\_s*' .. | 708 'unlet $SOMEVAR\_s*' .. |
700 '\d UNLETENV $SOMEVAR\_s*', | 709 '\d UNLETENV $SOMEVAR\_s*' .. |
710 | |
711 'var l = \[1, 2, 3]\_s*' .. | |
712 '\d\+ PUSHNR 1\_s*' .. | |
713 '\d\+ PUSHNR 2\_s*' .. | |
714 '\d\+ PUSHNR 3\_s*' .. | |
715 '\d\+ NEWLIST size 3\_s*' .. | |
716 '\d\+ SETTYPE list<number>\_s*' .. | |
717 '\d\+ STORE $0\_s*' .. | |
718 | |
719 'unlet l\[2]\_s*' .. | |
720 '\d\+ PUSHNR 2\_s*' .. | |
721 '\d\+ LOAD $0\_s*' .. | |
722 '\d\+ UNLETINDEX\_s*' .. | |
723 | |
724 'unlet l\[0 : 1]\_s*' .. | |
725 '\d\+ PUSHNR 0\_s*' .. | |
726 '\d\+ PUSHNR 1\_s*' .. | |
727 '\d\+ LOAD $0\_s*' .. | |
728 '\d\+ UNLETRANGE\_s*', | |
701 res) | 729 res) |
702 enddef | 730 enddef |
703 | 731 |
704 def s:LockLocal() | 732 def s:LockLocal() |
705 var d = {a: 1} | 733 var d = {a: 1} |
706 lockvar d.a | 734 lockvar d.a |
735 const nr = 22 | |
707 enddef | 736 enddef |
708 | 737 |
709 def Test_disassemble_lock_local() | 738 def Test_disassemble_lock_local() |
710 var res = execute('disass s:LockLocal') | 739 var res = execute('disass s:LockLocal') |
711 assert_match('<SNR>\d*_LockLocal\_s*' .. | 740 assert_match('<SNR>\d*_LockLocal\_s*' .. |
715 '\d NEWDICT size 1\_s*' .. | 744 '\d NEWDICT size 1\_s*' .. |
716 '\d SETTYPE dict<number>\_s*' .. | 745 '\d SETTYPE dict<number>\_s*' .. |
717 '\d STORE $0\_s*' .. | 746 '\d STORE $0\_s*' .. |
718 'lockvar d.a\_s*' .. | 747 'lockvar d.a\_s*' .. |
719 '\d LOAD $0\_s*' .. | 748 '\d LOAD $0\_s*' .. |
720 '\d LOCKUNLOCK lockvar 2 d.a\_s*', | 749 '\d LOCKUNLOCK lockvar 2 d.a\_s*' .. |
750 | |
751 'const nr = 22\_s*' .. | |
752 '\d\+ PUSHNR 22\_s*' .. | |
753 '\d\+ LOCKCONST\_s*' .. | |
754 '\d\+ STORE $1', | |
721 res) | 755 res) |
722 enddef | 756 enddef |
723 | 757 |
724 def s:ScriptFuncTry() | 758 def s:ScriptFuncTry() |
725 try | 759 try |
2184 '\d EXECRANGE ''m\_s*' .. | 2218 '\d EXECRANGE ''m\_s*' .. |
2185 '\d\+ RETURN void', | 2219 '\d\+ RETURN void', |
2186 res) | 2220 res) |
2187 enddef | 2221 enddef |
2188 | 2222 |
2223 def s:StoreRange() | |
2224 var l = [1, 2] | |
2225 l[0 : 1] = [7, 8] | |
2226 enddef | |
2227 | |
2228 def Test_disassemble_store_range() | |
2229 var res = execute('disass s:StoreRange') | |
2230 assert_match('\<SNR>\d*_StoreRange\_s*' .. | |
2231 'var l = \[1, 2]\_s*' .. | |
2232 '\d PUSHNR 1\_s*' .. | |
2233 '\d PUSHNR 2\_s*' .. | |
2234 '\d NEWLIST size 2\_s*' .. | |
2235 '\d SETTYPE list<number>\_s*' .. | |
2236 '\d STORE $0\_s*' .. | |
2237 | |
2238 'l\[0 : 1] = \[7, 8]\_s*' .. | |
2239 '\d\+ PUSHNR 7\_s*' .. | |
2240 '\d\+ PUSHNR 8\_s*' .. | |
2241 '\d\+ NEWLIST size 2\_s*' .. | |
2242 '\d\+ PUSHNR 0\_s*' .. | |
2243 '\d\+ PUSHNR 1\_s*' .. | |
2244 '\d\+ LOAD $0\_s*' .. | |
2245 '\d\+ STORERANGE\_s*' .. | |
2246 '\d\+ RETURN void', | |
2247 res) | |
2248 enddef | |
2249 | |
2189 def s:Echomsg() | 2250 def s:Echomsg() |
2190 echomsg 'some' 'message' | 2251 echomsg 'some' 'message' |
2191 echoconsole 'nothing' | 2252 echoconsole 'nothing' |
2192 echoerr 'went' .. 'wrong' | 2253 echoerr 'went' .. 'wrong' |
2193 enddef | 2254 enddef |