summaryrefslogtreecommitdiffstats
path: root/tests/QtSql/qvarianttype_test.py
blob: 89364e52b8bc9c035a71100827c7550811920362 (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
'''Test cases for QVariant::Type converter'''
import unittest
import py3kcompat as py3k
from PySide.QtSql import QSqlField

class QVariantTypeTest(unittest.TestCase):
    def testQVariantType(self):
        f = QSqlField("name", str)
        self.assertEqual(f.type(), py3k.unicode)

        f = QSqlField("name", str)
        self.assertEqual(f.type(), py3k.unicode)

        f = QSqlField("name", "QString")
        self.assertEqual(f.type(),  py3k.unicode)

        f = QSqlField("name", "double")
        self.assertEqual(f.type(), float)

        f = QSqlField("name", float)
        self.assertEqual(f.type(), float)

        f = QSqlField("name", int)
        self.assertEqual(f.type(), int)

        if not py3k.IS_PY3K:
            f = QSqlField("name", long)
            self.assertEqual(f.type(), int) # long isn't registered in QVariant:Type, just in QMetaType::Type

        #f = QSqlField("name", QObject)
        #self.assertEqual(f.type(), None)

        f = QSqlField("name", None)
        self.assertEqual(f.type(), None)

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