diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2018-11-22 16:40:50 +0100 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2018-11-22 16:40:50 +0100 |
commit | 28c991d1f622046fcd22e9d471b3a817f706f0bb (patch) | |
tree | be78c73ea2758a96b11af4a826ddca047de11f55 /crocoite/test_browser.py | |
parent | 6df9d8e9e15d8daa9f117f379a7d3f2e11104309 (diff) | |
download | crocoite-28c991d1f622046fcd22e9d471b3a817f706f0bb.tar.gz crocoite-28c991d1f622046fcd22e9d471b3a817f706f0bb.tar.bz2 crocoite-28c991d1f622046fcd22e9d471b3a817f706f0bb.zip |
controller: Improve idle waiting
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 + |