2
'''Unit tests for QTextStream'''
6
from PySide.QtCore import QTextStream, QIODevice, QString, QByteArray
7
from PySide.QtCore import QTextCodec, QFile
9
class QTextStreamShiftTest(unittest.TestCase):
12
self.ba = QByteArray()
13
self.read = QTextStream(self.ba, QIODevice.ReadOnly)
14
self.write = QTextStream(self.ba, QIODevice.WriteOnly)
17
'''QTextStream << number'''
19
self.write << QString('4')
21
res = self.read.readLine()
22
self.assert_(isinstance(res, QString))
23
self.assertEqual(res, QString('4'))
26
self.write << QString('Test_it!')
30
self.assertEqual(res, QString('Test_it!'))
32
class QTextStreamGetSet(unittest.TestCase):
35
self.obj = QTextStream()
39
'''QTextStream set/get Codec'''
41
codec = QTextCodec.codecForName('ISO8859-1')
42
self.obj.setCodec(codec)
43
self.assertEqual(codec, self.obj.codec())
46
'''QTextStream get/set Device'''
48
self.obj.setDevice(device)
49
self.assertEqual(device, self.obj.device())
50
self.obj.setDevice(None)
51
self.assertEqual(None, self.obj.device())
53
class QTextStreamInitialization(unittest.TestCase):
55
def testConstruction(self):
56
'''QTextStream construction'''
59
self.assertEqual(obj.codec(), QTextCodec.codecForLocale())
60
self.assertEqual(obj.device(), None)
61
self.assertEqual(obj.string(), None)
63
self.assert_(obj.atEnd())
64
self.assertEqual(obj.readAll(), '')
66
class QTextStreamReadLinesFromDevice(unittest.TestCase):
68
def _check_data(self, data_set):
70
for data, lines in data_set:
71
stream = QTextStream(data)
74
while not stream.atEnd():
75
res.append(stream.readLine())
77
self.assertEqual(res, lines)
80
'''QTextStream readLine for simple Latin1 strings'''
84
data.append((QByteArray(), []))
85
data.append((QByteArray('\n'), ['']))
86
data.append((QByteArray('\r\n'), ['']))
87
data.append((QByteArray('ole'), ['ole']))
88
data.append((QByteArray('ole\n'), ['ole']))
89
data.append((QByteArray('ole\r\n'), ['ole']))
90
data.append((QByteArray('ole\r\ndole\r\ndoffen'), ['ole', 'dole', 'doffen']))
92
self._check_data(data)
94
if __name__ == '__main__':