0
0
mirror of https://github.com/vim/vim.git synced 2025-10-02 05:04:20 -04:00

patch 8.2.0307: Python 3 vim.eval not well tested

Problem:    Python 3 vim.eval not well tested.
Solution:   Add a test. (Dominique Pelle, closes #5680)
This commit is contained in:
Bram Moolenaar
2020-02-23 15:10:16 +01:00
parent 83f37b9142
commit 026270c01d
2 changed files with 27 additions and 0 deletions

View File

@@ -188,6 +188,31 @@ func Test_unicode()
set encoding=utf8
endfunc
" Test vim.eval() with various types.
func Test_python3_vim_val()
call assert_equal("\n8", execute('py3 print(vim.eval("3+5"))'))
if has('float')
call assert_equal("\n3.140000", execute('py3 print(vim.eval("1.01+2.13"))'))
call assert_equal("\n0.000000", execute('py3 print(vim.eval("0.0/(1.0/0.0)"))'))
call assert_equal("\n0.000000", execute('py3 print(vim.eval("0.0/(1.0/0.0)"))'))
call assert_equal("\n-0.000000", execute('py3 print(vim.eval("0.0/(-1.0/0.0)"))'))
" Commented out: output of infinity and nan depend on platforms.
" call assert_equal("\ninf", execute('py3 print(vim.eval("1.0/0.0"))'))
" call assert_equal("\n-inf", execute('py3 print(vim.eval("-1.0/0.0"))'))
" call assert_equal("\n-nan", execute('py3 print(vim.eval("0.0/0.0"))'))
endif
call assert_equal("\nabc", execute('py3 print(vim.eval("\"abc\""))'))
call assert_equal("\n['1', '2']", execute('py3 print(vim.eval("[1, 2]"))'))
call assert_equal("\n{'1': '2'}", execute('py3 print(vim.eval("{1:2}"))'))
call assert_equal("\nTrue", execute('py3 print(vim.eval("v:true"))'))
call assert_equal("\nFalse", execute('py3 print(vim.eval("v:false"))'))
call assert_equal("\nNone", execute('py3 print(vim.eval("v:null"))'))
call assert_equal("\nNone", execute('py3 print(vim.eval("v:none"))'))
call assert_equal("\nb'\\xab\\x12'", execute('py3 print(vim.eval("0zab12"))'))
call assert_fails('py3 vim.eval("1+")', 'vim.error: invalid expression')
endfunc
" Test range objects, see :help python-range
func Test_python3_range()
new