aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2022-09-09 03:01:05 +0000
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2022-09-09 03:01:05 +0000
commit24009789510b62870fdcd1914b95d62f772bc327 (patch)
tree4abd12ce8ff7e7ec7a066f5adf6bc723d0229f64
parenta377961b493a089895555d5fcf248e78d3e18ca3 (diff)
parent7fe9b97640a30b2e46342033e752e4602c0512fa (diff)
Merge branch 6.3 into wip/6.3_pypy
-rw-r--r--sources/pyside6/libpyside/pysideqflags.cpp10
-rw-r--r--sources/pyside6/tests/QtCore/qflags_test.py19
2 files changed, 27 insertions, 2 deletions
diff --git a/sources/pyside6/libpyside/pysideqflags.cpp b/sources/pyside6/libpyside/pysideqflags.cpp
index 8cc6b0b30..197119ec3 100644
--- a/sources/pyside6/libpyside/pysideqflags.cpp
+++ b/sources/pyside6/libpyside/pysideqflags.cpp
@@ -100,8 +100,14 @@ extern "C" {
{
int result = 0;
if (!PyNumber_Check(other)) {
- PyErr_BadArgument();
- return nullptr;
+ switch (op) {
+ case Py_EQ:
+ Py_RETURN_FALSE;
+ case Py_NE:
+ Py_RETURN_TRUE;
+ default:
+ Py_RETURN_NOTIMPLEMENTED;
+ }
}
if (self == other) {
diff --git a/sources/pyside6/tests/QtCore/qflags_test.py b/sources/pyside6/tests/QtCore/qflags_test.py
index 8cc0b36c0..77e61560f 100644
--- a/sources/pyside6/tests/QtCore/qflags_test.py
+++ b/sources/pyside6/tests/QtCore/qflags_test.py
@@ -111,6 +111,25 @@ class QFlagOperatorTest(unittest.TestCase):
flags = Qt.NoItemFlags | Qt.ItemIsUserCheckable
self.assertEqual(flags | Qt.ItemIsEnabled, Qt.ItemIsEnabled | flags)
+ def testEqualNonNumericalObject(self):
+ '''QFlags ==,!= non-numerical object '''
+ flags = Qt.NoItemFlags | Qt.ItemIsUserCheckable
+
+ self.assertTrue(flags != None) # noqa: E711
+ self.assertFalse(flags == None) # noqa: E711
+
+ self.assertTrue(flags != "tomato")
+ self.assertFalse(flags == "tomato")
+
+ with self.assertRaises(TypeError):
+ flags > None
+ with self.assertRaises(TypeError):
+ flags >= None
+ with self.assertRaises(TypeError):
+ flags < None
+ with self.assertRaises(TypeError):
+ flags <= None
+
class QFlagsOnQVariant(unittest.TestCase):
def testQFlagsOnQVariant(self):