Ver código fonte

tests: Add unit tests for send() and throw() on generator wrapper

rdb 3 meses atrás
pai
commit
469df73ce7
1 arquivos alterados com 25 adições e 0 exclusões
  1. 25 0
      tests/event/test_futures.py

+ 25 - 0
tests/event/test_futures.py

@@ -46,6 +46,31 @@ def check_result(fut, expected):
     return True
     return True
 
 
 
 
+def test_future_await_send():
+    fut = core.AsyncFuture()
+
+    i = fut.__await__()
+    assert i.send(None) == fut
+    assert i.send(None) == fut
+    assert i.send(None) == fut
+    assert i.send(None) == fut
+
+    fut.set_result(123)
+
+    with pytest.raises(StopIteration) as e:
+        i.send(None)
+
+    assert e.value.value == 123
+
+
+def test_future_await_throw():
+    fut = core.AsyncFuture()
+
+    i = fut.__await__()
+    with pytest.raises(RuntimeError):
+        i.throw(RuntimeError)
+
+
 def test_future_cancelled():
 def test_future_cancelled():
     fut = core.AsyncFuture()
     fut = core.AsyncFuture()