test_pyx3.vim (1964B)
1 " Test for pyx* commands and functions with Python 3. 2 3 set pyx=3 4 source check.vim 5 CheckFeature python3 6 7 let s:py2pattern = '^2\.[0-7]\.\d\+' 8 let s:py3pattern = '^3\.\d\+\.\d\+' 9 10 11 func Test_has_pythonx() 12 call assert_true(has('pythonx')) 13 endfunc 14 15 16 func Test_pyx() 17 redir => var 18 pyx << trim EOF 19 import sys 20 print(sys.version) 21 EOF 22 redir END 23 call assert_match(s:py3pattern, split(var)[0]) 24 endfunc 25 26 27 func Test_pyxdo() 28 pyx import sys 29 enew 30 pyxdo return sys.version.split("\n")[0] 31 call assert_match(s:py3pattern, split(getline('.'))[0]) 32 endfunc 33 34 35 func Test_pyxeval() 36 pyx import sys 37 call assert_match(s:py3pattern, split(pyxeval('sys.version'))[0]) 38 endfunc 39 40 41 func Test_pyxfile() 42 " No special comments nor shebangs 43 redir => var 44 pyxfile pyxfile/pyx.py 45 redir END 46 call assert_match(s:py3pattern, split(var)[0]) 47 48 " Python 3 special comment 49 redir => var 50 pyxfile pyxfile/py3_magic.py 51 redir END 52 call assert_match(s:py3pattern, split(var)[0]) 53 54 " Python 3 shebang 55 redir => var 56 pyxfile pyxfile/py3_shebang.py 57 redir END 58 call assert_match(s:py3pattern, split(var)[0]) 59 60 if has('python') 61 " Python 2 special comment 62 redir => var 63 pyxfile pyxfile/py2_magic.py 64 redir END 65 call assert_match(s:py2pattern, split(var)[0]) 66 67 " Python 2 shebang 68 redir => var 69 pyxfile pyxfile/py2_shebang.py 70 redir END 71 call assert_match(s:py2pattern, split(var)[0]) 72 endif 73 endfunc 74 75 func Test_Catch_Exception_Message() 76 try 77 pyx raise RuntimeError( 'TEST' ) 78 catch /.*/ 79 call assert_match('^Vim(.*):.*RuntimeError: TEST.*$', v:exception ) 80 endtry 81 endfunc 82 83 " Test for various heredoc syntaxes 84 func Test_pyx3_heredoc() 85 pyx << END 86 result='A' 87 END 88 pyx << 89 result+='B' 90 . 91 pyx << trim END 92 result+='C' 93 END 94 pyx << trim 95 result+='D' 96 . 97 pyx << trim eof 98 result+='E' 99 eof 100 pyx << trimm 101 result+='F' 102 trimm 103 call assert_equal('ABCDEF', pyxeval('result')) 104 endfunc 105 106 " vim: shiftwidth=2 sts=2 expandtab