patch 9.2.0574: tests: missing test for v9.2.0572

Problem:  tests: missing test for v9.2.0572 (the patch accidentally
          included some additional unwanted changes from #20372)
          (thinca)
Solution: Add additional test for delfunc
          (thinca)

Patch 9.2.0572 fixed ":call d.key()" and ":delfunction d.key" failing
with E1017 in Vim9 script, but only the :call form was covered by a
regression test.  Add Test_delfunction_dict_funcref to exercise both
"delfunction d.key" and "delfunction d['k2']".

closes: #20372

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
thinca
2026-05-31 19:43:42 +00:00
committed by Christian Brabandt
parent 38d9a16eba
commit b16a9ddc28
2 changed files with 21 additions and 0 deletions
+19
View File
@@ -2178,4 +2178,23 @@ def Test_call_dict_funcref()
v9.CheckScriptSuccess(lines)
enddef
" :delfunction on a funcref stored in a dict member used to fail with E1017 in
" Vim9 script for the same reason as :call.
def Test_delfunction_dict_funcref()
var lines =<< trim END
vim9script
func g:LegacyFunc()
endfunc
var d: dict<any> = {}
d.key = g:LegacyFunc
d['k2'] = g:LegacyFunc
delfunction d.key
assert_false(has_key(d, 'key'))
delfunction d['k2']
assert_false(has_key(d, 'k2'))
delfunction g:LegacyFunc
END
v9.CheckScriptSuccess(lines)
enddef
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
+2
View File
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
574,
/**/
573,
/**/