def test_closeleft(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 5) left.close() d = right.read() d.addCallback(self._cbCloseleft, right) return d
def test_closeright(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 3) right.close() self.assertEquals(bufstr(left.read()), 'abc') self.assertEquals(left.read(), None) self.assertEquals(s.closeCalled, 1)
def test_split(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 5) self.assertEquals(left.length, 5) self.assertEquals(right.length, None) self.assertEquals(bufstr(left.read()), 'abcd') d = left.read() d.addCallback(self._cbSplit, left, right) return d
def test_closeboth_rev(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 5) right.close() self.assertEquals(s.closeCalled, 0) left.close() # Make sure nothing got read self.assertEquals(s.readCalled, 0) self.assertEquals(s.closeCalled, 1)
def test_split2(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 4) self.assertEquals(left.length, 4) self.assertEquals(right.length, None) self.assertEquals(bufstr(left.read()), 'abcd') self.assertEquals(left.read(), None) self.assertEquals(bufstr(right.read().result), 'efgh') self.assertEquals(bufstr(right.read()), 'ijkl') self.assertEquals(right.read(), None)
def test_splitsplit(self): s = TestStreamer(['abcd', defer.succeed('efgh'), 'ijkl']) left,right = stream.fallbackSplit(s, 5) left,middle = left.split(3) self.assertEquals(left.length, 3) self.assertEquals(middle.length, 2) self.assertEquals(right.length, None) self.assertEquals(bufstr(left.read()), 'abc') self.assertEquals(left.read(), None) self.assertEquals(bufstr(middle.read().result), 'd') self.assertEquals(bufstr(middle.read().result), 'e') self.assertEquals(middle.read(), None) self.assertEquals(bufstr(right.read().result), 'fgh') self.assertEquals(bufstr(right.read()), 'ijkl') self.assertEquals(right.read(), None)