From 0de9cda236715bf52b863ea14dc5d4fb824eae5b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 27 Oct 2021 10:32:07 +0200 Subject: PySide6: Fix QFlags comparison to self The result was set to true unconditionally when self == other. Fix and rearrange the code. Fixes: PYSIDE-1696 Change-Id: I8892d0f6439186d8629c5a24347fc1ce700ecb58 Reviewed-by: Christian Tismer (cherry picked from commit 9399408fd1e7e12215389a5bf96ae5e4ec38905b) --- sources/pyside2/tests/pysidetest/enum_test.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'sources/pyside2/tests/pysidetest/enum_test.py') diff --git a/sources/pyside2/tests/pysidetest/enum_test.py b/sources/pyside2/tests/pysidetest/enum_test.py index d179d6248..a9396383e 100644 --- a/sources/pyside2/tests/pysidetest/enum_test.py +++ b/sources/pyside2/tests/pysidetest/enum_test.py @@ -36,6 +36,7 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from init_paths import init_test_paths init_test_paths(True) +from PySide2.QtCore import Qt from testbinding import Enum1, TestObjectWithoutNamespace class ListConnectionTest(unittest.TestCase): @@ -46,6 +47,29 @@ class ListConnectionTest(unittest.TestCase): self.assertEqual(TestObjectWithoutNamespace.Enum2.Option3, 3) self.assertEqual(TestObjectWithoutNamespace.Enum2.Option4, 4) + def testFlagComparisonOperators(self): # PYSIDE-1696, compare to self + f1 = Qt.AlignHCenter | Qt.AlignBottom + f2 = Qt.AlignHCenter | Qt.AlignBottom + self.assertTrue(f1 == f1) + self.assertTrue(f1 <= f1) + self.assertTrue(f1 >= f1) + self.assertFalse(f1 != f1) + self.assertFalse(f1 < f1) + self.assertFalse(f1 > f1) + + self.assertTrue(f1 == f2) + self.assertTrue(f1 <= f2) + self.assertTrue(f1 >= f2) + self.assertFalse(f1 != f2) + self.assertFalse(f1 < f2) + self.assertFalse(f1 > f2) + + self.assertTrue(Qt.AlignHCenter < Qt.AlignBottom) + self.assertFalse(Qt.AlignHCenter > Qt.AlignBottom) + self.assertFalse(Qt.AlignBottom < Qt.AlignHCenter) + self.assertTrue(Qt.AlignBottom > Qt.AlignHCenter) + + if __name__ == '__main__': unittest.main() -- cgit v1.2.3