aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2010-10-07 14:36:12 -0300
committerLauro Neto <lauro.neto@openbossa.org>2010-10-07 15:41:50 -0300
commit349bdc2bc53c36043c81222f6e83762c72a6c56f (patch)
tree38bb22ed4ea39c6592290fc3f93fcfc891ff6ddf /tests
parent04180e1f1d9e5dc2b8e8e856f6fde0587074284a (diff)
Add more test for operations with QFlags
Diffstat (limited to 'tests')
-rw-r--r--tests/QtCore/qflags_test.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/QtCore/qflags_test.py b/tests/QtCore/qflags_test.py
index 3ecaa2f2f..8c088d69b 100644
--- a/tests/QtCore/qflags_test.py
+++ b/tests/QtCore/qflags_test.py
@@ -56,11 +56,31 @@ class QFlagOperatorTest(unittest.TestCase):
flag_type = (flags & Qt.WindowType_Mask)
self.assertEqual(flag_type, Qt.Window)
+ def testOperatorBetweenFlags(self):
+ '''QFlags & QFlags'''
+ flags = Qt.NoItemFlags | Qt.ItemIsUserCheckable
+ newflags = Qt.NoItemFlags | Qt.ItemIsUserCheckable
+ self.assert_(flags & newflags)
+
+ def testOperatorDifferentOrder(self):
+ '''Different ordering of arguments'''
+ flags = Qt.NoItemFlags | Qt.ItemIsUserCheckable
+ self.assertEqual(flags | Qt.ItemIsEnabled, Qt.ItemIsEnabled | flags)
+
class QFlagsOnQVariant(unittest.TestCase):
def testQFlagsOnQVariant(self):
o = QObject()
o.setProperty("foo", QIODevice.ReadOnly | QIODevice.WriteOnly)
self.assertEqual(type(o.property("foo")), int)
+class QFlagsWrongType(unittest.TestCase):
+ def testWrongType(self):
+ '''Wrong type passed to QFlags binary operators'''
+ self.assertRaises(TypeError, lambda :Qt.NoItemFlags | '43')
+ self.assertRaises(TypeError, lambda :Qt.NoItemFlags & '43')
+ self.assertRaises(TypeError, lambda :'jabba' & Qt.NoItemFlags)
+ self.assertRaises(TypeError, lambda :'hut' & Qt.NoItemFlags)
+ self.assertRaises(TypeError, lambda :Qt.NoItemFlags & QObject())
+
if __name__ == '__main__':
unittest.main()