aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui/qimage_test.py
blob: b1a302676184e00b2cb6082a954e467399bbfc92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

'''Test cases for QImage'''

import unittest
from PySide.QtGui import QImage
from helper import UsesQApplication, adjust_filename

class QImageTest(UsesQApplication):
    '''Test case for calling setPixel with float as argument'''

    def testQImageStringBuffer(self):
        '''Test if the QImage signatures receiving string buffers exist.'''
        img0 = QImage(adjust_filename('sample.png', __file__))

        print type(img0.bits())

        # btw let's test the bits() method
        img1 = QImage(img0.bits(), img0.width(), img0.height(), img0.format())
        self.assertEqual(img0, img1)
        img2 = QImage(img0.bits(), img0.width(), img0.height(), img0.bytesPerLine(), img0.format())
        self.assertEqual(img0, img2)

        ## test scanLine method
        data1 = img0.scanLine(0)
        data2 = img1.scanLine(0)
        self.assertEqual(data1, data2)
        self.assertEquals(str(data1), img0.bits()[:img0.bytesPerLine()])
        self.assertEquals(str(data2), img0.bits()[:img0.bytesPerLine()])

    def testEmptyBuffer(self):
        img = QImage(buffer(''), 100, 100, QImage.Format_ARGB32)

    def testEmptyStringAsBuffer(self):
        img = QImage('', 100, 100, QImage.Format_ARGB32)


if __name__ == '__main__':
    unittest.main()