diff src/testdir/test_scriptnames.vim @ 32200:730eebd56f48 v9.0.1431

patch 9.0.1431: getscriptinfo() loops even when specific SID is given Commit: https://github.com/vim/vim/commit/2d68b722e3bca7532eb0d83ce773934618f12db5 Author: zeertzjq <zeertzjq@outlook.com> Date: Thu Mar 30 21:50:37 2023 +0100 patch 9.0.1431: getscriptinfo() loops even when specific SID is given Problem: getscriptinfo() loops even when specific SID is given. Solution: Only loop when needed. Give a clearer error message. (closes #12207)
author Bram Moolenaar <Bram@vim.org>
date Thu, 30 Mar 2023 23:00:06 +0200
parents ae10b91ac6b3
children
line wrap: on
line diff
--- a/src/testdir/test_scriptnames.vim
+++ b/src/testdir/test_scriptnames.vim
@@ -91,6 +91,16 @@ func Test_getscriptinfo()
   call assert_fails("echo getscriptinfo('foobar')", 'E1206:')
 
   call assert_fails("echo getscriptinfo({'sid': []})", 'E745:')
+  call assert_fails("echo getscriptinfo({'sid': {}})", 'E728:')
+  call assert_fails("echo getscriptinfo({'sid': 0})", 'E475:')
+  call assert_fails("echo getscriptinfo({'sid': -1})", 'E475:')
+  call assert_fails("echo getscriptinfo({'sid': -999})", 'E475:')
+
+  echo getscriptinfo({'sid': '1'})
+  call assert_fails("vim9cmd echo getscriptinfo({'sid': '1'})", 'E1030:')
+
+  let max_sid = max(map(getscriptinfo(), { k, v -> v.sid }))
+  call assert_equal([], getscriptinfo({'sid': max_sid + 1}))
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab