Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
122 lines
1.8 KiB
Python
122 lines
1.8 KiB
Python
"""
|
|
Tests for all async use cases.
|
|
|
|
Currently we're not supporting completion of them, but they should at least not
|
|
raise errors or return extremely strange results.
|
|
"""
|
|
|
|
async def x():
|
|
return 1
|
|
|
|
#? []
|
|
x.cr_awai
|
|
|
|
#? ['cr_await']
|
|
x().cr_awai
|
|
|
|
a = await x()
|
|
#? int()
|
|
a
|
|
|
|
async def y():
|
|
argh = await x()
|
|
#? int()
|
|
argh
|
|
#? ['__next__']
|
|
x().__await__().__next
|
|
return 2
|
|
|
|
class A():
|
|
@staticmethod
|
|
async def b(c=1, d=2):
|
|
return 1
|
|
|
|
#! 9 ['def b']
|
|
await A.b()
|
|
|
|
#! 11 ['param d=2']
|
|
await A.b(d=3)
|
|
|
|
class Awaitable:
|
|
def __await__(self):
|
|
yield None
|
|
return ''
|
|
|
|
async def awaitable_test():
|
|
foo = await Awaitable()
|
|
#? str()
|
|
foo
|
|
|
|
# python >= 3.6
|
|
|
|
async def asgen():
|
|
yield 1
|
|
await asyncio.sleep(0)
|
|
yield 2
|
|
|
|
async def wrapper():
|
|
#? int()
|
|
[x async for x in asgen()][0]
|
|
|
|
async for y in asgen():
|
|
#? int()
|
|
y
|
|
|
|
#? ['__anext__']
|
|
asgen().__ane
|
|
#? []
|
|
asgen().mro
|
|
|
|
|
|
# Normal completion (#1092)
|
|
normal_var1 = 42
|
|
|
|
async def foo():
|
|
normal_var2 = False
|
|
#? ['normal_var1', 'normal_var2']
|
|
normal_var
|
|
|
|
|
|
class C:
|
|
@classmethod
|
|
async def async_for_classmethod(cls) -> "C":
|
|
return
|
|
|
|
async def async_for_method(cls) -> int:
|
|
return
|
|
|
|
|
|
async def f():
|
|
c = await C.async_for_method()
|
|
#? int()
|
|
c
|
|
d = await C().async_for_method()
|
|
#? int()
|
|
d
|
|
|
|
e = await C.async_for_classmethod()
|
|
#? C()
|
|
e
|
|
f = await C().async_for_classmethod()
|
|
#? C()
|
|
f
|
|
|
|
|
|
class AsyncCtxMgr:
|
|
def some_method():
|
|
pass
|
|
|
|
async def __aenter__(self):
|
|
return self
|
|
|
|
async def __aexit__(self, *args):
|
|
pass
|
|
|
|
|
|
async def asyncctxmgr():
|
|
async with AsyncCtxMgr() as acm:
|
|
#? AsyncCtxMgr()
|
|
acm
|
|
#? ['some_method']
|
|
acm.som
|