Mercurial > vim
annotate src/testdir/test_vim9_disassemble.vim @ 20211:3a94b984c9f9 v8.2.0661
patch 8.2.0661: eval test is still old style
Commit: https://github.com/vim/vim/commit/339d60c89bef0315343a6128a1b4826510b0efe4
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Apr 29 22:01:21 2020 +0200
patch 8.2.0661: eval test is still old style
Problem: Eval test is still old style.
Solution: Change into new style tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/6009)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 29 Apr 2020 22:15:04 +0200 |
parents | 0612c64a2b87 |
children | bc2c9ea94ec1 |
rev | line source |
---|---|
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test the :disassemble command, and compilation as a side effect |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
3 source check.vim |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
4 |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 func NotCompiled() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 echo "not" |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 endfunc |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 let s:scriptvar = 4 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 let g:globalvar = 'g' |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
11 let b:buffervar = 'b' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
12 let w:windowvar = 'w' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
13 let t:tabpagevar = 't' |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 def s:ScriptFuncLoad(arg: string) |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 let local = 1 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 buffers |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 echo arg |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 echo local |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 echo v:version |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 echo s:scriptvar |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 echo g:globalvar |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
23 echo b:buffervar |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
24 echo w:windowvar |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
25 echo t:tabpagevar |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 echo &tabstop |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 echo $ENVVAR |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 echo @z |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
31 def Test_disassemble_load() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 assert_fails('disass NoFunc', 'E1061:') |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 assert_fails('disass NotCompiled', 'E1062:') |
19390
e4b326c9424a
patch 8.2.0253: crash when using :disassamble without argument
Bram Moolenaar <Bram@vim.org>
parents:
19342
diff
changeset
|
34 assert_fails('disass', 'E471:') |
e4b326c9424a
patch 8.2.0253: crash when using :disassamble without argument
Bram Moolenaar <Bram@vim.org>
parents:
19342
diff
changeset
|
35 assert_fails('disass [', 'E475:') |
e4b326c9424a
patch 8.2.0253: crash when using :disassamble without argument
Bram Moolenaar <Bram@vim.org>
parents:
19342
diff
changeset
|
36 assert_fails('disass 234', 'E475:') |
e4b326c9424a
patch 8.2.0253: crash when using :disassamble without argument
Bram Moolenaar <Bram@vim.org>
parents:
19342
diff
changeset
|
37 assert_fails('disass <XX>foo', 'E475:') |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
39 let res = execute('disass s:ScriptFuncLoad') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
40 assert_match('<SNR>\d*_ScriptFuncLoad.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
41 'buffers.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
42 ' EXEC \+buffers.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
43 ' LOAD arg\[-1\].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
44 ' LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
45 ' LOADV v:version.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
46 ' LOADS s:scriptvar from .*test_vim9_disassemble.vim.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
47 ' LOADG g:globalvar.*' .. |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
48 ' LOADB b:buffervar.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
49 ' LOADW w:windowvar.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
50 ' LOADT t:tabpagevar.*' .. |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
51 ' LOADENV $ENVVAR.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
52 ' LOADREG @z.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
53 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 |
20170
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
56 def s:EditExpand() |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
57 let filename = "file" |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
58 let filenr = 123 |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
59 edit the`=filename``=filenr`.txt |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
60 enddef |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
61 |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
62 def Test_disassemble_exec_expr() |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
63 let res = execute('disass s:EditExpand') |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
64 assert_match('<SNR>\d*_EditExpand.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
65 ' let filename = "file".*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
66 '\d PUSHS "file".*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
67 '\d STORE $0.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
68 ' let filenr = 123.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
69 '\d STORE 123 in $1.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
70 ' edit the`=filename``=filenr`.txt.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
71 '\d PUSHS "edit the".*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
72 '\d LOAD $0.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
73 '\d LOAD $1.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
74 '\d 2STRING stack\[-1\].*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
75 '\d PUSHS ".txt".*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
76 '\d EXECCONCAT 4.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
77 '\d PUSHNR 0.*' .. |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
78 '\d RETURN', |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
79 res) |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
80 enddef |
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
81 |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
82 def s:ScriptFuncPush() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
83 let localbool = true |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
84 let localspec = v:none |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
85 let localblob = 0z1234 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
86 if has('float') |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
87 let localfloat = 1.234 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
88 endif |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
89 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
90 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
91 def Test_disassemble_push() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
92 let res = execute('disass s:ScriptFuncPush') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
93 assert_match('<SNR>\d*_ScriptFuncPush.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
94 'localbool = true.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
95 ' PUSH v:true.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
96 'localspec = v:none.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
97 ' PUSH v:none.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
98 'localblob = 0z1234.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
99 ' PUSHBLOB 0z1234.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
100 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
101 if has('float') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
102 assert_match('<SNR>\d*_ScriptFuncPush.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
103 'localfloat = 1.234.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
104 ' PUSHF 1.234.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
105 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
106 endif |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
107 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
108 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
109 def s:ScriptFuncStore() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
110 let localnr = 1 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
111 localnr = 2 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
112 let localstr = 'abc' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
113 localstr = 'xyz' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
114 v:char = 'abc' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
115 s:scriptvar = 'sv' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
116 g:globalvar = 'gv' |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
117 b:buffervar = 'bv' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
118 w:windowvar = 'wv' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
119 t:tabpagevar = 'tv' |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
120 &tabstop = 8 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
121 $ENVVAR = 'ev' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
122 @z = 'rv' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
123 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
125 def Test_disassemble_store() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 let res = execute('disass s:ScriptFuncStore') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
127 assert_match('<SNR>\d*_ScriptFuncStore.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
128 'let localnr = 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
129 'localnr = 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
130 ' STORE 2 in $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
131 'let localstr = ''abc''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
132 'localstr = ''xyz''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
133 ' STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
134 'v:char = ''abc''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
135 'STOREV v:char.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
136 's:scriptvar = ''sv''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
137 ' STORES s:scriptvar in .*test_vim9_disassemble.vim.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
138 'g:globalvar = ''gv''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
139 ' STOREG g:globalvar.*' .. |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
140 'b:buffervar = ''bv''.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
141 ' STOREB b:buffervar.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
142 'w:windowvar = ''wv''.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
143 ' STOREW w:windowvar.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
144 't:tabpagevar = ''tv''.*' .. |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
145 ' STORET t:tabpagevar.*' .. |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
146 '&tabstop = 8.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
147 ' STOREOPT &tabstop.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
148 '$ENVVAR = ''ev''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
149 ' STOREENV $ENVVAR.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
150 '@z = ''rv''.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
151 ' STOREREG @z.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
152 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
153 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
154 |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
155 def s:ScriptFuncUnlet() |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
156 g:somevar = "value" |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
157 unlet g:somevar |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
158 unlet! g:somevar |
20099
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
159 unlet $SOMEVAR |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
160 enddef |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
161 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
162 def Test_disassemble_unlet() |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
163 let res = execute('disass s:ScriptFuncUnlet') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
164 assert_match('<SNR>\d*_ScriptFuncUnlet.*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
165 'g:somevar = "value".*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
166 '\d PUSHS "value".*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
167 '\d STOREG g:somevar.*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
168 'unlet g:somevar.*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
169 '\d UNLET g:somevar.*' .. |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
170 'unlet! g:somevar.*' .. |
20099
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
171 '\d UNLET! g:somevar.*' .. |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
172 'unlet $SOMEVAR.*' .. |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
173 '\d UNLETENV $SOMEVAR.*', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
174 res) |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
175 enddef |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
176 |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
177 def s:ScriptFuncTry() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
178 try |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
179 echo 'yes' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
180 catch /fail/ |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
181 echo 'no' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
182 finally |
19338
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
183 throw 'end' |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
184 endtry |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
185 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
186 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
187 def Test_disassemble_try() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
188 let res = execute('disass s:ScriptFuncTry') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
189 assert_match('<SNR>\d*_ScriptFuncTry.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
190 'try.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
191 'TRY catch -> \d\+, finally -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
192 'catch /fail/.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
193 ' JUMP -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
194 ' PUSH v:exception.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
195 ' PUSHS "fail".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
196 ' COMPARESTRING =\~.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
197 ' JUMP_IF_FALSE -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
198 ' CATCH.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
199 'finally.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
200 ' PUSHS "end".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
201 ' THROW.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
202 'endtry.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
203 ' ENDTRY.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
204 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
205 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
206 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
207 def s:ScriptFuncNew() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
208 let ll = [1, "two", 333] |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
209 let dd = #{one: 1, two: "val"} |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
210 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
211 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
212 def Test_disassemble_new() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
213 let res = execute('disass s:ScriptFuncNew') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
214 assert_match('<SNR>\d*_ScriptFuncNew.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
215 'let ll = \[1, "two", 333].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
216 'PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
217 'PUSHS "two".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
218 'PUSHNR 333.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
219 'NEWLIST size 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
220 'let dd = #{one: 1, two: "val"}.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
221 'PUSHS "one".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
222 'PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
223 'PUSHS "two".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
224 'PUSHS "val".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
225 'NEWDICT size 2.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
226 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
227 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
228 |
20029
8fb1cf4c44d5
patch 8.2.0570: Vim9: no error when omitting type from argument
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
229 def FuncWithArg(arg: any) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
230 echo arg |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
231 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
232 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
233 func UserFunc() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
234 echo 'nothing' |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
235 endfunc |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
236 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
237 func UserFuncWithArg(arg) |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
238 echo a:arg |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
239 endfunc |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
240 |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
241 def s:ScriptFuncCall(): string |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
242 changenr() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
243 char2nr("abc") |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
244 Test_disassemble_new() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
245 FuncWithArg(343) |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
246 ScriptFuncNew() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
247 s:ScriptFuncNew() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
248 UserFunc() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
249 UserFuncWithArg("foo") |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
250 let FuncRef = function("UserFunc") |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
251 FuncRef() |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
252 let FuncRefWithArg = function("UserFuncWithArg") |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
253 FuncRefWithArg("bar") |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
254 return "yes" |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
255 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
256 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
257 def Test_disassemble_call() |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
258 let res = execute('disass s:ScriptFuncCall') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
259 assert_match('<SNR>\d\+_ScriptFuncCall.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
260 'changenr().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
261 ' BCALL changenr(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
262 'char2nr("abc").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
263 ' PUSHS "abc".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
264 ' BCALL char2nr(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
265 'Test_disassemble_new().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
266 ' DCALL Test_disassemble_new(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
267 'FuncWithArg(343).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
268 ' PUSHNR 343.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
269 ' DCALL FuncWithArg(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
270 'ScriptFuncNew().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
271 ' DCALL <SNR>\d\+_ScriptFuncNew(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
272 's:ScriptFuncNew().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
273 ' DCALL <SNR>\d\+_ScriptFuncNew(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
274 'UserFunc().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
275 ' UCALL UserFunc(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
276 'UserFuncWithArg("foo").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
277 ' PUSHS "foo".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
278 ' UCALL UserFuncWithArg(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
279 'let FuncRef = function("UserFunc").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
280 'FuncRef().*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
281 ' LOAD $\d.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
282 ' PCALL (argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
283 'let FuncRefWithArg = function("UserFuncWithArg").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
284 'FuncRefWithArg("bar").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
285 ' PUSHS "bar".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
286 ' LOAD $\d.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
287 ' PCALL (argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
288 'return "yes".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
289 ' PUSHS "yes".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
290 ' RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
291 res) |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
292 enddef |
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
293 |
19483
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
294 |
19862
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
295 def EchoArg(arg: string): string |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
296 return arg |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
297 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
298 def RefThis(): func |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
299 return function('EchoArg') |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
300 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
301 def s:ScriptPCall() |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
302 RefThis()("text") |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
303 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
304 |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
305 def Test_disassemble_pcall() |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
306 let res = execute('disass s:ScriptPCall') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
307 assert_match('<SNR>\d\+_ScriptPCall.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
308 'RefThis()("text").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
309 '\d DCALL RefThis(argc 0).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
310 '\d PUSHS "text".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
311 '\d PCALL top (argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
312 '\d PCALL end.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
313 '\d DROP.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
314 '\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
315 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
316 res) |
19862
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
317 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
318 |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19703
diff
changeset
|
319 |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
320 def s:FuncWithForwardCall(): string |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
321 return g:DefinedLater("yes") |
19532
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
322 enddef |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
323 |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
324 def DefinedLater(arg: string): string |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
325 return arg |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
326 enddef |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
327 |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
328 def Test_disassemble_update_instr() |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
329 let res = execute('disass s:FuncWithForwardCall') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
330 assert_match('FuncWithForwardCall.*' .. |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
331 'return g:DefinedLater("yes").*' .. |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
332 '\d PUSHS "yes".*' .. |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
333 '\d UCALL g:DefinedLater(argc 1).*' .. |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
334 '\d CHECKTYPE string stack\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
335 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
336 res) |
19532
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
337 |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
338 " Calling the function will change UCALL into the faster DCALL |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
339 assert_equal('yes', FuncWithForwardCall()) |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
340 |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
341 res = execute('disass s:FuncWithForwardCall') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
342 assert_match('FuncWithForwardCall.*' .. |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
343 'return g:DefinedLater("yes").*' .. |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
344 '\d PUSHS "yes".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
345 '\d DCALL DefinedLater(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
346 '\d CHECKTYPE string stack\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
347 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
348 res) |
19532
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
349 enddef |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
350 |
b8f778dda1a1
patch 8.2.0323: Vim9: calling a function that is defined later is slow
Bram Moolenaar <Bram@vim.org>
parents:
19528
diff
changeset
|
351 |
19483
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
352 def FuncWithDefault(arg: string = 'default'): string |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
353 return arg |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
354 enddef |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
355 |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
356 def Test_disassemble_call_default() |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
357 let res = execute('disass FuncWithDefault') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
358 assert_match('FuncWithDefault.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
359 '\d PUSHS "default".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
360 '\d STORE arg\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
361 'return arg.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
362 '\d LOAD arg\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
363 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
364 res) |
19483
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
365 enddef |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
366 |
0d3dcb4476ba
patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Bram Moolenaar <Bram@vim.org>
parents:
19439
diff
changeset
|
367 |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
368 def HasEval() |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
369 if has("eval") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
370 echo "yes" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
371 else |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
372 echo "no" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
373 endif |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
374 enddef |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
375 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
376 def HasNothing() |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
377 if has("nothing") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
378 echo "yes" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
379 else |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
380 echo "no" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
381 endif |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
382 enddef |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
383 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
384 def HasSomething() |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
385 if has("nothing") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
386 echo "nothing" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
387 elseif has("something") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
388 echo "something" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
389 elseif has("eval") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
390 echo "eval" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
391 elseif has("less") |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
392 echo "less" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
393 endif |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
394 enddef |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
395 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
396 def Test_disassemble_const_expr() |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
397 assert_equal("\nyes", execute('call HasEval()')) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
398 let instr = execute('disassemble HasEval') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
399 assert_match('HasEval.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
400 'if has("eval").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
401 ' PUSHS "yes".*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
402 instr) |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
403 assert_notmatch('JUMP', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
404 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
405 assert_equal("\nno", execute('call HasNothing()')) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
406 instr = execute('disassemble HasNothing') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
407 assert_match('HasNothing.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
408 'if has("nothing").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
409 'else.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
410 ' PUSHS "no".*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
411 instr) |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
412 assert_notmatch('PUSHS "yes"', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
413 assert_notmatch('JUMP', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
414 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
415 assert_equal("\neval", execute('call HasSomething()')) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
416 instr = execute('disassemble HasSomething') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
417 assert_match('HasSomething.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
418 'if has("nothing").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
419 'elseif has("something").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
420 'elseif has("eval").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
421 ' PUSHS "eval".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
422 'elseif has("less").*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
423 instr) |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
424 assert_notmatch('PUSHS "nothing"', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
425 assert_notmatch('PUSHS "something"', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
426 assert_notmatch('PUSHS "less"', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
427 assert_notmatch('JUMP', instr) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
428 enddef |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
429 |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
430 def WithFunc() |
19912
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
431 let Funky1: func |
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
432 let Funky2: func = function("len") |
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
433 let Party2: func = funcref("UserFunc") |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
434 enddef |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
435 |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
436 def Test_disassemble_function() |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
437 let instr = execute('disassemble WithFunc') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
438 assert_match('WithFunc.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
439 'let Funky1: func.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
440 '0 PUSHFUNC "\[none]".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
441 '1 STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
442 'let Funky2: func = function("len").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
443 '2 PUSHS "len".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
444 '3 BCALL function(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
445 '4 STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
446 'let Party2: func = funcref("UserFunc").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
447 '\d PUSHS "UserFunc".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
448 '\d BCALL funcref(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
449 '\d STORE $2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
450 '\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
451 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
452 instr) |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
453 enddef |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
454 |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
455 if has('channel') |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
456 def WithChannel() |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
457 let job1: job |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
458 let job2: job = job_start("donothing") |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
459 let chan1: channel |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
460 enddef |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
461 endif |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
462 |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
463 def Test_disassemble_channel() |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
464 CheckFeature channel |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
465 |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
466 let instr = execute('disassemble WithChannel') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
467 assert_match('WithChannel.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
468 'let job1: job.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
469 '\d PUSHJOB "no process".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
470 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
471 'let job2: job = job_start("donothing").*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
472 '\d PUSHS "donothing".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
473 '\d BCALL job_start(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
474 '\d STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
475 'let chan1: channel.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
476 '\d PUSHCHANNEL 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
477 '\d STORE $2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
478 '\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
479 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
480 instr) |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
481 enddef |
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
482 |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
483 def WithLambda(): string |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
484 let F = {a -> "X" .. a .. "X"} |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
485 return F("x") |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
486 enddef |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
487 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
488 def Test_disassemble_lambda() |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
489 assert_equal("XxX", WithLambda()) |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
490 let instr = execute('disassemble WithLambda') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
491 assert_match('WithLambda.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
492 'let F = {a -> "X" .. a .. "X"}.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
493 ' FUNCREF <lambda>\d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
494 'PUSHS "x".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
495 ' LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
496 ' PCALL (argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
497 ' CHECKTYPE string stack\[-1].*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
498 instr) |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
499 enddef |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
500 |
20029
8fb1cf4c44d5
patch 8.2.0570: Vim9: no error when omitting type from argument
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
501 def AndOr(arg: any): string |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
502 if arg == 1 && arg != 2 || arg == 4 |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
503 return 'yes' |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
504 endif |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
505 return 'no' |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
506 enddef |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
507 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
508 def Test_disassemble_and_or() |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
509 assert_equal("yes", AndOr(1)) |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
510 assert_equal("no", AndOr(2)) |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
511 assert_equal("yes", AndOr(4)) |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
512 let instr = execute('disassemble AndOr') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
513 assert_match('AndOr.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
514 'if arg == 1 && arg != 2 || arg == 4.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
515 '\d LOAD arg\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
516 '\d PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
517 '\d COMPAREANY ==.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
518 '\d JUMP_AND_KEEP_IF_FALSE -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
519 '\d LOAD arg\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
520 '\d PUSHNR 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
521 '\d COMPAREANY !=.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
522 '\d JUMP_AND_KEEP_IF_TRUE -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
523 '\d LOAD arg\[-1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
524 '\d PUSHNR 4.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
525 '\d COMPAREANY ==.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
526 '\d JUMP_IF_FALSE -> \d\+.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
527 instr) |
19334
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
528 enddef |
61646c189622
patch 8.2.0225: compiling lambda not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19332
diff
changeset
|
529 |
19336
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
530 def ForLoop(): list<number> |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
531 let res: list<number> |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
532 for i in range(3) |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
533 res->add(i) |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
534 endfor |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
535 return res |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
536 enddef |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
537 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
538 def Test_disassemble_for_loop() |
19336
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
539 assert_equal([0, 1, 2], ForLoop()) |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
540 let instr = execute('disassemble ForLoop') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
541 assert_match('ForLoop.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
542 'let res: list<number>.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
543 ' NEWLIST size 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
544 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
545 'for i in range(3).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
546 '\d STORE -1 in $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
547 '\d PUSHNR 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
548 '\d BCALL range(argc 1).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
549 '\d FOR $1 -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
550 '\d STORE $2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
551 'res->add(i).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
552 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
553 '\d LOAD $2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
554 '\d BCALL add(argc 2).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
555 '\d DROP.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
556 'endfor.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
557 '\d JUMP -> \d\+.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
558 '\d DROP.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
559 instr) |
19336
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
560 enddef |
1cd6eab65ce0
patch 8.2.0226: compiling for loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19334
diff
changeset
|
561 |
19338
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
562 let g:number = 42 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
563 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
564 def Computing() |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
565 let nr = 3 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
566 let nrres = nr + 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
567 nrres = nr - 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
568 nrres = nr * 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
569 nrres = nr / 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
570 nrres = nr % 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
571 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
572 let anyres = g:number + 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
573 anyres = g:number - 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
574 anyres = g:number * 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
575 anyres = g:number / 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
576 anyres = g:number % 7 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
577 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
578 if has('float') |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
579 let fl = 3.0 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
580 let flres = fl + 7.0 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
581 flres = fl - 7.0 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
582 flres = fl * 7.0 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
583 flres = fl / 7.0 |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
584 endif |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
585 enddef |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
586 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
587 def Test_disassemble_computing() |
19338
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
588 let instr = execute('disassemble Computing') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
589 assert_match('Computing.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
590 'let nr = 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
591 '\d STORE 3 in $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
592 'let nrres = nr + 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
593 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
594 '\d PUSHNR 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
595 '\d OPNR +.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
596 '\d STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
597 'nrres = nr - 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
598 '\d OPNR -.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
599 'nrres = nr \* 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
600 '\d OPNR \*.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
601 'nrres = nr / 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
602 '\d OPNR /.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
603 'nrres = nr % 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
604 '\d OPNR %.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
605 'let anyres = g:number + 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
606 '\d LOADG g:number.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
607 '\d PUSHNR 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
608 '\d OPANY +.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
609 '\d STORE $2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
610 'anyres = g:number - 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
611 '\d OPANY -.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
612 'anyres = g:number \* 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
613 '\d OPANY \*.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
614 'anyres = g:number / 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
615 '\d OPANY /.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
616 'anyres = g:number % 7.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
617 '\d OPANY %.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
618 instr) |
19338
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
619 if has('float') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
620 assert_match('Computing.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
621 'let fl = 3.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
622 '\d PUSHF 3.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
623 '\d STORE $3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
624 'let flres = fl + 7.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
625 '\d LOAD $3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
626 '\d PUSHF 7.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
627 '\d OPFLOAT +.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
628 '\d STORE $4.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
629 'flres = fl - 7.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
630 '\d OPFLOAT -.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
631 'flres = fl \* 7.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
632 '\d OPFLOAT \*.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
633 'flres = fl / 7.0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
634 '\d OPFLOAT /.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
635 instr) |
19338
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
636 endif |
ef432264b88a
patch 8.2.0227: compiling a few instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19336
diff
changeset
|
637 enddef |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
638 |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
639 def AddListBlob() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
640 let reslist = [1, 2] + [3, 4] |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
641 let resblob = 0z1122 + 0z3344 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
642 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
643 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
644 def Test_disassemble_add_list_blob() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
645 let instr = execute('disassemble AddListBlob') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
646 assert_match('AddListBlob.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
647 'let reslist = \[1, 2] + \[3, 4].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
648 '\d PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
649 '\d PUSHNR 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
650 '\d NEWLIST size 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
651 '\d PUSHNR 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
652 '\d PUSHNR 4.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
653 '\d NEWLIST size 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
654 '\d ADDLIST.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
655 '\d STORE $.*.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
656 'let resblob = 0z1122 + 0z3344.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
657 '\d PUSHBLOB 0z1122.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
658 '\d PUSHBLOB 0z3344.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
659 '\d ADDBLOB.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
660 '\d STORE $.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
661 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
662 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
663 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
664 let g:aa = 'aa' |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
665 def ConcatString(): string |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
666 let res = g:aa .. "bb" |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
667 return res |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
668 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
669 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
670 def Test_disassemble_concat() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
671 let instr = execute('disassemble ConcatString') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
672 assert_match('ConcatString.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
673 'let res = g:aa .. "bb".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
674 '\d LOADG g:aa.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
675 '\d PUSHS "bb".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
676 '\d 2STRING stack\[-2].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
677 '\d CONCAT.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
678 '\d STORE $.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
679 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
680 assert_equal('aabb', ConcatString()) |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
681 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
682 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
683 def ListIndex(): number |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
684 let l = [1, 2, 3] |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
685 let res = l[1] |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
686 return res |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
687 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
688 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
689 def Test_disassemble_list_index() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
690 let instr = execute('disassemble ListIndex') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
691 assert_match('ListIndex.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
692 'let l = \[1, 2, 3].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
693 '\d PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
694 '\d PUSHNR 2.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
695 '\d PUSHNR 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
696 '\d NEWLIST size 3.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
697 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
698 'let res = l\[1].*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
699 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
700 '\d PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
701 '\d INDEX.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
702 '\d STORE $1.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
703 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
704 assert_equal(2, ListIndex()) |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
705 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
706 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
707 def DictMember(): number |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
708 let d = #{item: 1} |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
709 let res = d.item |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
710 return res |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
711 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
712 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
713 def Test_disassemble_dict_member() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
714 let instr = execute('disassemble DictMember') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
715 assert_match('DictMember.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
716 'let d = #{item: 1}.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
717 '\d PUSHS "item".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
718 '\d PUSHNR 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
719 '\d NEWDICT size 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
720 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
721 'let res = d.item.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
722 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
723 '\d MEMBER item.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
724 '\d STORE $1.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
725 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
726 call assert_equal(1, DictMember()) |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
727 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
728 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
729 def NegateNumber(): number |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
730 let nr = 9 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
731 let plus = +nr |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
732 let res = -nr |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
733 return res |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
734 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
735 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
736 def Test_disassemble_negate_number() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
737 let instr = execute('disassemble NegateNumber') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
738 assert_match('NegateNumber.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
739 'let nr = 9.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
740 '\d STORE 9 in $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
741 'let plus = +nr.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
742 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
743 '\d CHECKNR.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
744 '\d STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
745 'let res = -nr.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
746 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
747 '\d NEGATENR.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
748 '\d STORE $2.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
749 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
750 call assert_equal(-9, NegateNumber()) |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
751 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
752 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
753 def InvertBool(): bool |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
754 let flag = true |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
755 let invert = !flag |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
756 let res = !!flag |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
757 return res |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
758 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
759 |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
760 def Test_disassemble_invert_bool() |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
761 let instr = execute('disassemble InvertBool') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
762 assert_match('InvertBool.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
763 'let flag = true.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
764 '\d PUSH v:true.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
765 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
766 'let invert = !flag.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
767 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
768 '\d INVERT (!val).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
769 '\d STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
770 'let res = !!flag.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
771 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
772 '\d 2BOOL (!!val).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
773 '\d STORE $2.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
774 instr) |
19439
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
775 call assert_equal(true, InvertBool()) |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
776 enddef |
b347a6c61090
patch 8.2.0277: Vim9: not all instructions covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19390
diff
changeset
|
777 |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
778 def Test_disassemble_compare() |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
779 " TODO: COMPAREFUNC |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
780 let cases = [ |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
781 ['true == false', 'COMPAREBOOL =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
782 ['true != false', 'COMPAREBOOL !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
783 ['v:none == v:null', 'COMPARESPECIAL =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
784 ['v:none != v:null', 'COMPARESPECIAL !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
785 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
786 ['111 == 222', 'COMPARENR =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
787 ['111 != 222', 'COMPARENR !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
788 ['111 > 222', 'COMPARENR >'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
789 ['111 < 222', 'COMPARENR <'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
790 ['111 >= 222', 'COMPARENR >='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
791 ['111 <= 222', 'COMPARENR <='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
792 ['111 =~ 222', 'COMPARENR =\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
793 ['111 !~ 222', 'COMPARENR !\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
794 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
795 ['"xx" != "yy"', 'COMPARESTRING !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
796 ['"xx" > "yy"', 'COMPARESTRING >'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
797 ['"xx" < "yy"', 'COMPARESTRING <'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
798 ['"xx" >= "yy"', 'COMPARESTRING >='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
799 ['"xx" <= "yy"', 'COMPARESTRING <='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
800 ['"xx" =~ "yy"', 'COMPARESTRING =\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
801 ['"xx" !~ "yy"', 'COMPARESTRING !\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
802 ['"xx" is "yy"', 'COMPARESTRING is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
803 ['"xx" isnot "yy"', 'COMPARESTRING isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
804 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
805 ['0z11 == 0z22', 'COMPAREBLOB =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
806 ['0z11 != 0z22', 'COMPAREBLOB !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
807 ['0z11 is 0z22', 'COMPAREBLOB is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
808 ['0z11 isnot 0z22', 'COMPAREBLOB isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
809 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
810 ['[1,2] == [3,4]', 'COMPARELIST =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
811 ['[1,2] != [3,4]', 'COMPARELIST !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
812 ['[1,2] is [3,4]', 'COMPARELIST is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
813 ['[1,2] isnot [3,4]', 'COMPARELIST isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
814 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
815 ['#{a:1} == #{x:2}', 'COMPAREDICT =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
816 ['#{a:1} != #{x:2}', 'COMPAREDICT !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
817 ['#{a:1} is #{x:2}', 'COMPAREDICT is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
818 ['#{a:1} isnot #{x:2}', 'COMPAREDICT isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
819 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
820 ['{->33} == {->44}', 'COMPAREFUNC =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
821 ['{->33} != {->44}', 'COMPAREFUNC !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
822 ['{->33} is {->44}', 'COMPAREFUNC is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
823 ['{->33} isnot {->44}', 'COMPAREFUNC isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
824 |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
825 ['77 == g:xx', 'COMPAREANY =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
826 ['77 != g:xx', 'COMPAREANY !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
827 ['77 > g:xx', 'COMPAREANY >'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
828 ['77 < g:xx', 'COMPAREANY <'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
829 ['77 >= g:xx', 'COMPAREANY >='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
830 ['77 <= g:xx', 'COMPAREANY <='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
831 ['77 =~ g:xx', 'COMPAREANY =\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
832 ['77 !~ g:xx', 'COMPAREANY !\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
833 ['77 is g:xx', 'COMPAREANY is'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
834 ['77 isnot g:xx', 'COMPAREANY isnot'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
835 ] |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
836 if has('float') |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
837 cases->extend([ |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
838 ['1.1 == 2.2', 'COMPAREFLOAT =='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
839 ['1.1 != 2.2', 'COMPAREFLOAT !='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
840 ['1.1 > 2.2', 'COMPAREFLOAT >'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
841 ['1.1 < 2.2', 'COMPAREFLOAT <'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
842 ['1.1 >= 2.2', 'COMPAREFLOAT >='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
843 ['1.1 <= 2.2', 'COMPAREFLOAT <='], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
844 ['1.1 =~ 2.2', 'COMPAREFLOAT =\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
845 ['1.1 !~ 2.2', 'COMPAREFLOAT !\~'], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
846 ]) |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
847 endif |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
848 |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
849 let nr = 1 |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
850 for case in cases |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
851 writefile(['def TestCase' .. nr .. '()', |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
852 ' if ' .. case[0], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
853 ' echo 42' |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
854 ' endif', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
855 'enddef'], 'Xdisassemble') |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
856 source Xdisassemble |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
857 let instr = execute('disassemble TestCase' .. nr) |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
858 assert_match('TestCase' .. nr .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
859 'if ' .. substitute(case[0], '[[~]', '\\\0', 'g') .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
860 '\d \(PUSH\|FUNCREF\).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
861 '\d \(PUSH\|FUNCREF\|LOADG\).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
862 '\d ' .. case[1] .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
863 '\d JUMP_IF_FALSE -> \d\+.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
864 instr) |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
865 |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
866 nr += 1 |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
867 endfor |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
868 |
19703
f03357f16ffc
patch 8.2.0408: delete() commented out for testing
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
869 delete('Xdisassemble') |
19342
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
870 enddef |
8ff84bc1c89b
patch 8.2.0229: compare instructions not tested
Bram Moolenaar <Bram@vim.org>
parents:
19338
diff
changeset
|
871 |
19880
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
872 def Test_disassemble_compare_const() |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
873 let cases = [ |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
874 ['"xx" == "yy"', false], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
875 ['"aa" == "aa"', true], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
876 ['has("eval") ? true : false', true], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
877 ['has("asdf") ? true : false', false], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
878 ] |
19880
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
879 |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
880 let nr = 1 |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
881 for case in cases |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
882 writefile(['def TestCase' .. nr .. '()', |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
883 ' if ' .. case[0], |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
884 ' echo 42' |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
885 ' endif', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
886 'enddef'], 'Xdisassemble') |
19880
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
887 source Xdisassemble |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
888 let instr = execute('disassemble TestCase' .. nr) |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
889 if case[1] |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
890 " condition true, "echo 42" executed |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
891 assert_match('TestCase' .. nr .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
892 'if ' .. substitute(case[0], '[[~]', '\\\0', 'g') .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
893 '\d PUSHNR 42.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
894 '\d ECHO 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
895 '\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
896 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
897 instr) |
19880
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
898 else |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
899 " condition false, function just returns |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
900 assert_match('TestCase' .. nr .. '.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
901 'if ' .. substitute(case[0], '[[~]', '\\\0', 'g') .. '[ \n]*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
902 'echo 42[ \n]*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
903 'endif[ \n]*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
904 '\s*\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
905 '\d RETURN.*', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
906 instr) |
19880
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
907 endif |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
908 |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
909 nr += 1 |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
910 endfor |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
911 |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
912 delete('Xdisassemble') |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
913 enddef |
50fa63ca3828
patch 8.2.0496: Vim9: disassemble test fails
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
914 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
915 def s:Execute() |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
916 execute 'help vim9.txt' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
917 let cmd = 'help vim9.txt' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
918 execute cmd |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
919 let tag = 'vim9.txt' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
920 execute 'help ' .. tag |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
921 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
922 |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
923 def Test_disassemble_execute() |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
924 let res = execute('disass s:Execute') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
925 assert_match('\<SNR>\d*_Execute.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
926 "execute 'help vim9.txt'.*" .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
927 '\d PUSHS "help vim9.txt".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
928 '\d EXECUTE 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
929 "let cmd = 'help vim9.txt'.*" .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
930 '\d PUSHS "help vim9.txt".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
931 '\d STORE $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
932 'execute cmd.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
933 '\d LOAD $0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
934 '\d EXECUTE 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
935 "let tag = 'vim9.txt'.*" .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
936 '\d PUSHS "vim9.txt".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
937 '\d STORE $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
938 "execute 'help ' .. tag.*" .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
939 '\d PUSHS "help ".*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
940 '\d LOAD $1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
941 '\d CONCAT.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
942 '\d EXECUTE 1.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
943 '\d PUSHNR 0.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
944 '\d RETURN', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
945 res) |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
946 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19483
diff
changeset
|
947 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
948 def s:Echomsg() |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
949 echomsg 'some' 'message' |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
950 echoerr 'went' .. 'wrong' |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
951 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
952 |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
953 def Test_disassemble_echomsg() |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
954 let res = execute('disass s:Echomsg') |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
955 assert_match('\<SNR>\d*_Echomsg.*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
956 "echomsg 'some' 'message'.*" .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
957 '\d PUSHS "some".*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
958 '\d PUSHS "message".*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
959 '\d ECHOMSG 2.*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
960 "echoerr 'went' .. 'wrong'.*" .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
961 '\d PUSHS "went".*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
962 '\d PUSHS "wrong".*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
963 '\d CONCAT.*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
964 '\d ECHOERR 1.*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
965 '\d PUSHNR 0.*' .. |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
966 '\d RETURN', |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
967 res) |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
968 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
969 |
19579
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
970 def SomeStringArg(arg: string) |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
971 echo arg |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
972 enddef |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
973 |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
974 def SomeAnyArg(arg: any) |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
975 echo arg |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
976 enddef |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
977 |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
978 def SomeStringArgAndReturn(arg: string): string |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
979 return arg |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
980 enddef |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
981 |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
982 def Test_display_func() |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
983 let res1 = execute('function SomeStringArg') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
984 assert_match('.* def SomeStringArg(arg: string).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
985 ' echo arg.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
986 ' enddef', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
987 res1) |
19579
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
988 |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
989 let res2 = execute('function SomeAnyArg') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
990 assert_match('.* def SomeAnyArg(arg: any).*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
991 ' echo arg.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
992 ' enddef', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
993 res2) |
19579
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
994 |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
995 let res3 = execute('function SomeStringArgAndReturn') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
996 assert_match('.* def SomeStringArgAndReturn(arg: string): string.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
997 ' return arg.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
998 ' enddef', |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
19912
diff
changeset
|
999 res3) |
19579
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
1000 enddef |
aae19dd172c0
patch 8.2.0346: Vim9: finding common list type not tested
Bram Moolenaar <Bram@vim.org>
parents:
19572
diff
changeset
|
1001 |
19330
9c8b803fe598
patch 8.2.0223: some instructions not yet tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1002 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |