##// END OF EJS Templates
test with trio
test with trio

File last commit:

r24463:6f33fcd4
r24472:702b9463
Show More
test_async_helpers.py
52 lines | 1.3 KiB | text/x-python | PythonLexer
/ IPython / core / tests / test_async_helpers.py
"""
Test for async helpers.
Should only trigger on python 3.5+ or will have syntax errors.
"""
import sys
import nose.tools as nt
from textwrap import dedent
from unittest import TestCase
ip = get_ipython()
iprc = lambda x: ip.run_cell(dedent(x))
if sys.version_info > (3,5):
from IPython.core.async_helpers import _should_be_async
class AsyncTest(TestCase):
def test_should_be_async(self):
nt.assert_false(_should_be_async("False"))
nt.assert_true(_should_be_async("await bar()"))
nt.assert_true(_should_be_async("x = await bar()"))
nt.assert_false(_should_be_async(dedent("""
async def awaitable():
pass
""")))
def test_execute(self):
iprc("""
import asyncio
await asyncio.sleep(0.001)
""")
def test_autoawait(self):
ip.run_cell('%autoawait False')
ip.run_cell('%autoawait True')
iprc('''
from asyncio import sleep
await.sleep(0.1)
''')
def test_autoawait_curio(self):
ip.run_cell('%autoawait curio')
def test_autoawait_trio(self):
ip.run_cell('%autoawait trio')
def tearDown(self):
ip.loop_runner = 'asyncio'