def test_changing_live(self): t = StringTransport() p = GeneratorWrapperProtocol() def _123_gen_handler(): for n in (1, 2, 3): s = yield n self.messages.append(s.read(n)[:]) def _321_next_gen_handler(next): for n in (3, 2, 1): s = yield n self.messages.append(s.read(n)[:]) next() def next(): p.init_handler(_123_gen_handler()) p.init_handler(_321_next_gen_handler(next)) p.makeConnection(t) p.dataReceived('aaabbcabbcccX') self.assertEquals(self.pop_messages(), ['aaa', 'bb', 'c', 'a', 'bb', 'ccc'])
def test_simple_123_plus(self): t = StringTransport() p = GeneratorWrapperProtocol() def _123_gen_handler(): for n in (1, 2, 3): s = yield n self.messages.append(s.read(n)[:]) p.init_handler(_123_gen_handler()) p.makeConnection(t) p.dataReceived('abbcccX') self.assertEquals(self.pop_messages(), ['a', 'bb', 'ccc'])