From a92d72b5d7e3fcd093360814ea5fadcea7c7ad70 Mon Sep 17 00:00:00 2001 From: ZyX Date: Thu, 10 Jul 2014 22:54:27 +0400 Subject: [PATCH] Respect the fact that vim.eval in Vim returns str instances --- tests/vim.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/vim.py b/tests/vim.py index 2f8488fa..c55b0251 100644 --- a/tests/vim.py +++ b/tests/vim.py @@ -44,6 +44,24 @@ def _vim(func): return f +def _unicode(func): + from functools import wraps + import sys + + if sys.version_info < (3,): + return func + + @wraps(func) + def f(*args, **kwargs): + from powerline.lib.unicode import u + ret = func(*args, **kwargs) + if isinstance(ret, bytes): + ret = u(ret) + return ret + + return f + + class _Buffers(object): @_vim def __init__(self): @@ -163,6 +181,7 @@ def command(cmd): @_vim +@_unicode def eval(expr): if expr.startswith('g:'): return vars[expr[2:]]