view src/testdir/test60.vim @ 7730:80ce794827c4 v7.4.1163

commit https://github.com/vim/vim/commit/17a13437c9414a8693369a97f3be2fc8ad48c12e Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 24 14:22:10 2016 +0100 patch 7.4.1163 Problem: Expressions "0 + v:true" and "'' . v:true" cause an error. Solution: Return something sensible when using a special variable as a number or as a string. (suggested by Damien)
author Christian Brabandt <cb@256bit.org>
date Sun, 24 Jan 2016 14:30:04 +0100
parents b63792dadc23
children
line wrap: on
line source

" Vim script for exists() function test
" Script-local variables are checked here

" Existing script-local variable
let s:script_var = 1
echo 's:script_var: 1'
if exists('s:script_var')
    echo "OK"
else
    echo "FAILED"
endif

" Non-existing script-local variable
unlet s:script_var
echo 's:script_var: 0'
if !exists('s:script_var')
    echo "OK"
else
    echo "FAILED"
endif

" Existing script-local list
let s:script_list = ["blue", "orange"]
echo 's:script_list: 1'
if exists('s:script_list')
    echo "OK"
else
    echo "FAILED"
endif

" Non-existing script-local list
unlet s:script_list
echo 's:script_list: 0'
if !exists('s:script_list')
    echo "OK"
else
    echo "FAILED"
endif

" Existing script-local dictionary
let s:script_dict = {"xcord":100, "ycord":2}
echo 's:script_dict: 1'
if exists('s:script_dict')
    echo "OK"
else
    echo "FAILED"
endif

" Non-existing script-local dictionary
unlet s:script_dict
echo 's:script_dict: 0'
if !exists('s:script_dict')
    echo "OK"
else
    echo "FAILED"
endif

" Existing script curly-brace variable
let str = "script"
let s:curly_{str}_var = 1
echo 's:curly_' . str . '_var: 1'
if exists('s:curly_{str}_var')
    echo "OK"
else
    echo "FAILED"
endif

" Non-existing script-local curly-brace variable
unlet s:curly_{str}_var
echo 's:curly_' . str . '_var: 0'
if !exists('s:curly_{str}_var')
    echo "OK"
else
    echo "FAILED"
endif

" Existing script-local function
function! s:my_script_func()
endfunction

echo '*s:my_script_func: 1'
if exists('*s:my_script_func')
    echo "OK"
else
    echo "FAILED"
endif

" Non-existing script-local function
delfunction s:my_script_func

echo '*s:my_script_func: 0'
if !exists('*s:my_script_func')
    echo "OK"
else
    echo "FAILED"
endif
unlet str