diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-01-28 16:06:38 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-01-28 16:06:38 +0100 |
commit | f42dd3c3901ea0ba38e67a616aea9953cae81b8d (patch) | |
tree | 3626ca40161dbfaa5e72a4dbeaa46b24480ddc8c /src/testdir/test_pyx3.vim | |
parent | 0c0590d9827cb07a33c1552cb3558b94bddcb4dc (diff) | |
download | vim-git-f42dd3c3901ea0ba38e67a616aea9953cae81b8d.tar.gz |
patch 8.0.0251: not easy to select Python 2 or 3v8.0.0251
Problem: It is not so easy to write a script that works with both Python 2
and Python 3, even when the Python code works with both.
Solution: Add 'pyxversion', :pyx, etc. (Marc Weber, Ken Takata)
Diffstat (limited to 'src/testdir/test_pyx3.vim')
-rw-r--r-- | src/testdir/test_pyx3.vim | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/testdir/test_pyx3.vim b/src/testdir/test_pyx3.vim new file mode 100644 index 000000000..64546b468 --- /dev/null +++ b/src/testdir/test_pyx3.vim @@ -0,0 +1,74 @@ +" Test for pyx* commands and functions with Python 3. + +set pyx=3 +if !has('python3') + finish +endif + +let s:py2pattern = '^2\.[0-7]\.\d\+' +let s:py3pattern = '^3\.\d\+\.\d\+' + + +func Test_has_pythonx() + call assert_true(has('pythonx')) +endfunc + + +func Test_pyx() + redir => var + pyx << EOF +import sys +print(sys.version) +EOF + redir END + call assert_match(s:py3pattern, split(var)[0]) +endfunc + + +func Test_pyxdo() + pyx import sys + enew + pyxdo return sys.version.split("\n")[0] + call assert_match(s:py3pattern, split(getline('.'))[0]) +endfunc + + +func Test_pyxeval() + pyx import sys + call assert_match(s:py3pattern, split(pyxeval('sys.version'))[0]) +endfunc + + +func Test_pyxfile() + " No special comments nor shebangs + redir => var + pyxfile pyxfile/pyx.py + redir END + call assert_match(s:py3pattern, split(var)[0]) + + " Python 3 special comment + redir => var + pyxfile pyxfile/py3_magic.py + redir END + call assert_match(s:py3pattern, split(var)[0]) + + " Python 3 shebang + redir => var + pyxfile pyxfile/py3_shebang.py + redir END + call assert_match(s:py3pattern, split(var)[0]) + + if has('python') + " Python 2 special comment + redir => var + pyxfile pyxfile/py2_magic.py + redir END + call assert_match(s:py2pattern, split(var)[0]) + + " Python 2 shebang + redir => var + pyxfile pyxfile/py2_shebang.py + redir END + call assert_match(s:py2pattern, split(var)[0]) + endif +endfunc |