Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 1 | " Utility functions for testing vim9 script |
| 2 | |
Bram Moolenaar | 3e06a1e | 2020-08-10 21:57:54 +0200 | [diff] [blame] | 3 | " Check that "lines" inside ":def" has no error. |
| 4 | func CheckDefSuccess(lines) |
| 5 | call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef') |
| 6 | so Xdef |
| 7 | call Func() |
| 8 | call delete('Xdef') |
| 9 | endfunc |
| 10 | |
Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 11 | " Check that "lines" inside ":def" results in an "error" message. |
| 12 | func CheckDefFailure(lines, error) |
Bram Moolenaar | 822ba24 | 2020-05-24 23:00:18 +0200 | [diff] [blame] | 13 | call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef') |
Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 14 | call assert_fails('so Xdef', a:error, a:lines) |
| 15 | call delete('Xdef') |
| 16 | endfunc |
| 17 | |
Bram Moolenaar | 015f426 | 2020-05-05 21:25:22 +0200 | [diff] [blame] | 18 | " Check that "lines" inside ":def" results in an "error" message when executed. |
| 19 | func CheckDefExecFailure(lines, error) |
| 20 | call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef') |
| 21 | so Xdef |
| 22 | call assert_fails('call Func()', a:error, a:lines) |
| 23 | call delete('Xdef') |
| 24 | endfunc |
| 25 | |
Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 26 | def CheckScriptFailure(lines: list<string>, error: string) |
| 27 | writefile(lines, 'Xdef') |
| 28 | assert_fails('so Xdef', error, lines) |
| 29 | delete('Xdef') |
| 30 | enddef |
| 31 | |
| 32 | def CheckScriptSuccess(lines: list<string>) |
| 33 | writefile(lines, 'Xdef') |
| 34 | so Xdef |
| 35 | delete('Xdef') |
| 36 | enddef |