def test_input_splitter(self): m_sbuf = self._make_mock() m_lbuf = self._make_mock() splitter = InputSplitter(m_sbuf, m_lbuf) splitter.write_data('foo') self._assertCallsEqual( m_sbuf, [call.enqueue_data('foo')]) self._assertCallsEqual( m_lbuf, [call.write_data('foo')]) self._reset_mocks() splitter.finish() self._assertCallsEqual( m_sbuf, []) self._assertCallsEqual( m_lbuf, [call.finish()])
def test_read(self): m_select = self._patch('select.select') m_read = self._patch('os.read') rfd = 42 m_out = self._make_mock() m_select.return_value = ([rfd], [], []) m_read.return_value = 'banana' self.m.add_source(rfd, m_out, permanent=False) cont = self.m.process_events() self._assertCallsEqual(m_select, [call([rfd], [], [], SELECT_INTERVAL)]) self._assertCallsEqual(m_read, [call.read(rfd, BUFSIZE)]) self._assertCallsEqual(m_out, [call.write_data('banana')]) self.assertEqual(True, cont)