summaryrefslogtreecommitdiff
path: root/uvim/src/testdir/test_stacktrace.mnv
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-04 12:41:27 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-04 12:41:27 +0300
commit4f2d36194b4f299aa7509d815c07121039ea833b (patch)
treef3ded014bad3a4c76ff6a22b8726ebaab68c3d13 /uvim/src/testdir/test_stacktrace.mnv
parent5b578e70c314723a3cde5c9bfc2be0bf1dadc93b (diff)
downloadProject-Tick-4f2d36194b4f299aa7509d815c07121039ea833b.tar.gz
Project-Tick-4f2d36194b4f299aa7509d815c07121039ea833b.zip
NOISSUE change uvim folder name to mnv
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'uvim/src/testdir/test_stacktrace.mnv')
-rw-r--r--uvim/src/testdir/test_stacktrace.mnv142
1 files changed, 0 insertions, 142 deletions
diff --git a/uvim/src/testdir/test_stacktrace.mnv b/uvim/src/testdir/test_stacktrace.mnv
deleted file mode 100644
index 31baf85fbe..0000000000
--- a/uvim/src/testdir/test_stacktrace.mnv
+++ /dev/null
@@ -1,142 +0,0 @@
-" Test for getstacktrace() and v:stacktrace
-
-import './util/mnv9.mnv' as v9
-
-let s:thisfile = expand('%:p')
-let s:testdir = s:thisfile->fnamemodify(':h')
-
-func Filepath(name)
- return s:testdir .. '/' .. a:name
-endfunc
-
-func AssertStacktrace(expect, actual)
- call assert_equal(Filepath('runtest.mnv'), a:actual[0]['filepath'])
- call assert_equal(a:expect, a:actual[-len(a:expect):])
-endfunc
-
-func Test_getstacktrace()
- let g:stacktrace = []
- let lines1 =<< trim [SCRIPT]
- " Xscript1
- source Xscript2
- func Xfunc1()
- " Xfunc1
- call Xfunc2()
- endfunc
- [SCRIPT]
- let lines2 =<< trim [SCRIPT]
- " Xscript2
- func Xfunc2()
- " Xfunc2
- let g:stacktrace = getstacktrace()
- endfunc
- [SCRIPT]
- call writefile(lines1, 'Xscript1', 'D')
- call writefile(lines2, 'Xscript2', 'D')
- source Xscript1
- call Xfunc1()
- call AssertStacktrace([
- \ #{funcref: funcref('Test_getstacktrace'), lnum: 37, filepath: s:thisfile},
- \ #{funcref: funcref('Xfunc1'), lnum: 5, filepath: Filepath('Xscript1')},
- \ #{funcref: funcref('Xfunc2'), lnum: 4, filepath: Filepath('Xscript2')},
- \ ], g:stacktrace)
- unlet g:stacktrace
-endfunc
-
-func Test_getstacktrace_event()
- let g:stacktrace = []
- let lines1 =<< trim [SCRIPT]
- " Xscript1
- func Xfunc()
- " Xfunc
- let g:stacktrace = getstacktrace()
- endfunc
- augroup test_stacktrace
- autocmd SourcePre * call Xfunc()
- augroup END
- [SCRIPT]
- let lines2 =<< trim [SCRIPT]
- " Xscript2
- [SCRIPT]
- call writefile(lines1, 'Xscript1', 'D')
- call writefile(lines2, 'Xscript2', 'D')
- source Xscript1
- source Xscript2
- call AssertStacktrace([
- \ #{funcref: funcref('Test_getstacktrace_event'), lnum: 64, filepath: s:thisfile},
- \ #{event: 'SourcePre Autocommands for "*"', lnum: 7, filepath: Filepath('Xscript1')},
- \ #{funcref: funcref('Xfunc'), lnum: 4, filepath: Filepath('Xscript1')},
- \ ], g:stacktrace)
- augroup test_stacktrace
- autocmd!
- augroup END
- unlet g:stacktrace
-endfunc
-
-func Test_vstacktrace()
- let lines1 =<< trim [SCRIPT]
- " Xscript1
- source Xscript2
- func Xfunc1()
- " Xfunc1
- call Xfunc2()
- endfunc
- [SCRIPT]
- let lines2 =<< trim [SCRIPT]
- " Xscript2
- func Xfunc2()
- " Xfunc2
- throw 'Exception from Xfunc2'
- endfunc
- [SCRIPT]
- call writefile(lines1, 'Xscript1', 'D')
- call writefile(lines2, 'Xscript2', 'D')
- source Xscript1
- call assert_equal([], v:stacktrace)
- try
- call Xfunc1()
- catch
- let stacktrace = v:stacktrace
- try
- call Xfunc1()
- catch
- let stacktrace_inner = v:stacktrace
- endtry
- let stacktrace_after = v:stacktrace " should be restored by the exception stack to the previous one
- endtry
- call assert_equal([], v:stacktrace)
- call AssertStacktrace([
- \ #{funcref: funcref('Test_vstacktrace'), lnum: 97, filepath: s:thisfile},
- \ #{funcref: funcref('Xfunc1'), lnum: 5, filepath: Filepath('Xscript1')},
- \ #{funcref: funcref('Xfunc2'), lnum: 4, filepath: Filepath('Xscript2')},
- \ ], stacktrace)
- call AssertStacktrace([
- \ #{funcref: funcref('Test_vstacktrace'), lnum: 101, filepath: s:thisfile},
- \ #{funcref: funcref('Xfunc1'), lnum: 5, filepath: Filepath('Xscript1')},
- \ #{funcref: funcref('Xfunc2'), lnum: 4, filepath: Filepath('Xscript2')},
- \ ], stacktrace_inner)
- call assert_equal(stacktrace, stacktrace_after)
-endfunc
-
-func Test_stacktrace_mnv9()
- let lines =<< trim [SCRIPT]
- var stacktrace = getstacktrace()
- assert_notequal([], stacktrace)
- for d in stacktrace
- assert_true(has_key(d, 'lnum'))
- endfor
- try
- throw 'Exception from s:Func'
- catch
- assert_notequal([], v:stacktrace)
- assert_equal(len(stacktrace), len(v:stacktrace))
- for d in v:stacktrace
- assert_true(has_key(d, 'lnum'))
- endfor
- endtry
- call assert_equal([], v:stacktrace)
- [SCRIPT]
- call v9.CheckDefSuccess(lines)
-endfunc
-
-" mnv: shiftwidth=2 sts=2 expandtab