Mercurial > vim
view src/testdir/test_pyx2.vim @ 19253:a8d2d3c8f0b3 v8.2.0185
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Commit: https://github.com/vim/vim/commit/a259d8d30bc289764925fc42db1dbe774f0bb3f8
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jan 31 20:10:50 2020 +0100
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem: Vim9 script: cannot use "if has()" to skip lines.
Solution: Evaluate constant expression at runtime.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 31 Jan 2020 20:15:05 +0100 |
parents | 6d11a0d5751d |
children | 04ef2ccf2519 |
line wrap: on
line source
" Test for pyx* commands and functions with Python 2. set pyx=2 source check.vim CheckFeature python 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:py2pattern, split(var)[0]) endfunc func Test_pyxdo() pyx import sys enew pyxdo return sys.version.split("\n")[0] call assert_match(s:py2pattern, split(getline('.'))[0]) endfunc func Test_pyxeval() pyx import sys call assert_match(s:py2pattern, split('sys.version'->pyxeval())[0]) endfunc func Test_pyxfile() " No special comments nor shebangs redir => var pyxfile pyxfile/pyx.py redir END call assert_match(s:py2pattern, split(var)[0]) " 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]) if has('python3') " 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]) endif endfunc func Test_Catch_Exception_Message() try pyx raise RuntimeError( 'TEST' ) catch /.*/ call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) endtry endfunc