コード例 #1
0
    def test_extend(self, evt, loop):
        async def corofunc():
            pass

        coro = corofunc()
        coro2 = corofunc()
        # silence "coroutine never awaited" warnings
        loop.run_until_complete(coro)
        loop.run_until_complete(coro2)

        rval = event.ReturnValue(append_events=[evt])
        rval2 = event.ReturnValue(eat=True, schedule={coro})
        rval3 = event.ReturnValue(append_events=[evt], insert_events=[evt],
                                  schedule={coro, coro2})

        rset = event.ResultSet()
        rset2 = event.ResultSet()

        rset.extend(rval)
        assert not rset.eat
        assert rset.append_events == [evt]
        rset.extend(rval2)
        assert rset.eat
        assert rset.schedule == {coro}
        rset2.extend(rval3)
        rset.extend(rset2)
        rset.extend(None)
        assert rset.eat
        assert rset.append_events == [evt, evt]
        assert rset.insert_events == [evt]
        assert rset.schedule == {coro, coro2}
コード例 #2
0
    def test_iadd(self, evt):
        rval = event.ReturnValue(append_events=[evt])
        rval2 = event.ReturnValue(eat=True, append_events=[evt])
        rset = event.ResultSet()

        rset += rval
        rset += rval2
        rset += None
        assert rset.eat
        assert rset.append_events == [evt, evt]
コード例 #3
0
        def corofunc3():
            called[2] += 1

            async def corofunc():
                pass

            return event.ReturnValue(append_events=[evt3], schedule={corofunc()})
コード例 #4
0
 def corofunc2():
     called[1] += 1
     return event.ReturnValue(insert_events=[evt3], append_events=[evt2])
コード例 #5
0
 def corofunc1():
     called[0] += 1
     return event.ReturnValue(insert_events=[evt2], append_events=[evt])
コード例 #6
0
 async def corofunc2():
     called[1] = True
     return event.ReturnValue(eat=True)