diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2022-09-09 03:01:05 +0000 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2022-09-09 03:01:05 +0000 |
commit | 24009789510b62870fdcd1914b95d62f772bc327 (patch) | |
tree | 4abd12ce8ff7e7ec7a066f5adf6bc723d0229f64 | |
parent | a377961b493a089895555d5fcf248e78d3e18ca3 (diff) | |
parent | 7fe9b97640a30b2e46342033e752e4602c0512fa (diff) |
Merge branch 6.3 into wip/6.3_pypy
Change-Id: I4abd12ce8ff7e7ec7a066f5adf6bc723d0229f64
-rw-r--r-- | sources/pyside6/libpyside/pysideqflags.cpp | 10 | ||||
-rw-r--r-- | sources/pyside6/tests/QtCore/qflags_test.py | 19 |
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): |