diff options
Diffstat (limited to 'crocoite/test_browser.py')
-rw-r--r-- | crocoite/test_browser.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/crocoite/test_browser.py b/crocoite/test_browser.py index 8adf0cd..06492b1 100644 --- a/crocoite/test_browser.py +++ b/crocoite/test_browser.py @@ -24,7 +24,7 @@ from operator import itemgetter from aiohttp import web from http.server import BaseHTTPRequestHandler -from .browser import Item, SiteLoader +from .browser import Item, SiteLoader, VarChangeEvent from .logger import Logger, Consumer from .devtools import Crashed, Process @@ -266,3 +266,26 @@ async def test_invalidurl (loader): assert it.failed break +@pytest.mark.asyncio +async def test_varchangeevent (): + e = VarChangeEvent (True) + assert e.get () == True + + # no change at all + w = asyncio.ensure_future (e.wait ()) + finished, pending = await asyncio.wait ([w], timeout=0.1) + assert not finished and pending + + # no change + e.set (True) + finished, pending = await asyncio.wait ([w], timeout=0.1) + assert not finished and pending + + # changed + e.set (False) + await asyncio.sleep (0.1) # XXX: is there a yield() ? + assert w.done () + ret = w.result () + assert ret == False + assert e.get () == ret + |