~ubuntu-branches/ubuntu/oneiric/pyside/oneiric

« back to all changes in this revision

Viewing changes to tests/qtcore/qtextstream_test.py

  • Committer: Bazaar Package Importer
  • Author(s): Didier Raboud
  • Date: 2010-09-27 21:01:06 UTC
  • mfrom: (1.2.1 upstream) (6.1.3 experimental)
  • Revision ID: james.westby@ubuntu.com-20100927210106-m1nrq8vmd3exqb9o
Tags: 0.4.1-0ubuntu1
* New 0.4.1 upstream release. (LP: #648612)
  - Add some 0.4.1 symbols.

* Patches:
  - u_c130273_fix_py25_QtScript_property.patch
    Remove, was from upstream.
  - u_20e226b_fix_missing_qcoreapplication_arguments_method.patch
    Remove, was from upstream.
  - u_268bf77_fixed_signal_signature_parser.patch
    Remove, was from upstream.
  + libPythonVersionPostfix.patch: Refresh
  + usePySpecificShiboken.patch: Refresh
  + lessBuildVerbosity.patch: Refresh

* Bump the B-D chain versions.
* Make sure the private.py is installed in QtCore module.
* Build against Qt 4.7.
  - Add libqtwebkit-dev
  - Drop QtMultimedia module.
  - Add the QtDeclarative package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
'''Unit tests for QTextStream'''
3
 
 
4
 
import unittest
5
 
 
6
 
from PySide.QtCore import QTextStream, QIODevice, QString, QByteArray
7
 
from PySide.QtCore import QTextCodec, QFile
8
 
 
9
 
class QTextStreamShiftTest(unittest.TestCase):
10
 
 
11
 
    def setUp(self):
12
 
        self.ba = QByteArray()
13
 
        self.read = QTextStream(self.ba, QIODevice.ReadOnly)
14
 
        self.write = QTextStream(self.ba, QIODevice.WriteOnly)
15
 
 
16
 
    def testNumber(self):
17
 
        '''QTextStream << number'''
18
 
 
19
 
        self.write << QString('4')
20
 
        self.write.flush()
21
 
        res = self.read.readLine()
22
 
        self.assert_(isinstance(res, QString))
23
 
        self.assertEqual(res, QString('4'))
24
 
 
25
 
    def testString(self):
26
 
        self.write << QString('Test_it!')
27
 
        self.write.flush()
28
 
        res = QString()
29
 
        self.read >> res
30
 
        self.assertEqual(res, QString('Test_it!'))
31
 
 
32
 
class QTextStreamGetSet(unittest.TestCase):
33
 
 
34
 
    def setUp(self):
35
 
        self.obj = QTextStream()
36
 
 
37
 
 
38
 
    def testCodec(self):
39
 
        '''QTextStream set/get Codec'''
40
 
 
41
 
        codec = QTextCodec.codecForName('ISO8859-1')
42
 
        self.obj.setCodec(codec)
43
 
        self.assertEqual(codec, self.obj.codec())
44
 
 
45
 
    def testDevice(self):
46
 
        '''QTextStream get/set Device'''
47
 
        device = QFile()
48
 
        self.obj.setDevice(device)
49
 
        self.assertEqual(device, self.obj.device())
50
 
        self.obj.setDevice(None)
51
 
        self.assertEqual(None, self.obj.device())
52
 
 
53
 
class QTextStreamInitialization(unittest.TestCase):
54
 
 
55
 
    def testConstruction(self):
56
 
        '''QTextStream construction'''
57
 
        obj = QTextStream()
58
 
 
59
 
        self.assertEqual(obj.codec(), QTextCodec.codecForLocale())
60
 
        self.assertEqual(obj.device(), None)
61
 
        self.assertEqual(obj.string(), None)
62
 
 
63
 
        self.assert_(obj.atEnd())
64
 
        self.assertEqual(obj.readAll(), '')
65
 
 
66
 
class QTextStreamReadLinesFromDevice(unittest.TestCase):
67
 
 
68
 
    def _check_data(self, data_set):
69
 
 
70
 
        for data, lines in data_set:
71
 
            stream = QTextStream(data)
72
 
 
73
 
            res = []
74
 
            while not stream.atEnd():
75
 
                res.append(stream.readLine())
76
 
 
77
 
            self.assertEqual(res, lines)
78
 
 
79
 
    def testLatin1(self):
80
 
        '''QTextStream readLine for simple Latin1 strings'''
81
 
 
82
 
        data = []
83
 
 
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']))
91
 
 
92
 
        self._check_data(data)
93
 
 
94
 
if __name__ == '__main__':
95
 
    unittest.main()