" Test commands that are not compiled in a :def function
source check.vim
source vim9.vim
source term_util.vim
source view_util.vim
def Test_vim9cmd()
var lines =<< trim END
vim9cmd var x = 123
let s:y = 'yes'
vim9c assert_equal(123, x)
vim9cm assert_equal('yes', y)
END
CheckScriptSuccess(lines)
assert_fails('vim9cmd', 'E1164:')
assert_fails('legacy', 'E1234:')
assert_fails('vim9cmd echo "con" . "cat"', 'E15:')
lines =<< trim END
let str = 'con'
vim9cmd str .= 'cat'
END
CheckScriptFailure(lines, 'E492:')
lines =<< trim END
vim9script
legacy echo "con" . "cat"
legacy let str = 'con'
legacy let str .= 'cat'
END
CheckScriptSuccess(lines)
lines =<< trim END
vim9script
def Foo()
g:found_bar = "bar"
enddef
nmap ,; :vim9cmd <SID>Foo()<CR>
END
CheckScriptSuccess(lines)
feedkeys(',;', 'xt')
assert_equal("bar", g:found_bar)
nunmap ,;
unlet g:found_bar
lines =<< trim END
vim9script
legacy echo 1'000
END
CheckScriptFailure(lines, 'E115:')
if has('float')
lines =<< trim END
vim9script
echo .10
END
CheckScriptSuccess(lines)
lines =<< trim END
vim9cmd echo .10
END
CheckScriptSuccess(lines)
lines =<< trim END
vim9script
legacy echo .10
END
CheckScriptFailure(lines, 'E15:')
endif
echo v:version
assert_fails('vim9cmd echo version', 'E121:')
lines =<< trim END
vim9script
echo version
END
CheckScriptFailure(lines, 'E121:')
lines =<< trim END
vim9script
legacy echo version
END
CheckScriptSuccess(lines)
enddef
def Test_edit_wildcards()
var filename = 'Xtest'
edit `=filename`
assert_equal('Xtest', bufname())
var filenr = 123
edit Xtest`=filenr`
assert_equal('Xtest123', bufname())
filenr = 77
edit `=filename``=filenr`
assert_equal('Xtest77', bufname())
edit X`=filename`xx`=filenr`yy
assert_equal('XXtestxx77yy', bufname())
CheckDefFailure(['edit `=xx