diff options
Diffstat (limited to 'sources/shiboken6/tests/samplebinding/typeconverters_test.py')
-rw-r--r-- | sources/shiboken6/tests/samplebinding/typeconverters_test.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/samplebinding/typeconverters_test.py b/sources/shiboken6/tests/samplebinding/typeconverters_test.py index 10b7491b1..987ba6dfd 100644 --- a/sources/shiboken6/tests/samplebinding/typeconverters_test.py +++ b/sources/shiboken6/tests/samplebinding/typeconverters_test.py @@ -15,6 +15,7 @@ init_paths() import sample + class GetPythonTypeByNameTest(unittest.TestCase): '''Uses an added function with inject code that uses the libshiboken @@ -159,12 +160,31 @@ class StringBasedConversionTest(unittest.TestCase): self.assertTrue(len(result), 1) self.assertTrue(lst, result[0]) + +class PrimitiveConversionTest(unittest.TestCase): + def testCppPrimitiveType(self): integers = (12, 34) result = sample.convertIntegersToCppAndThenToPython(integers[0], integers[1]) for orig, new in zip(integers, result): self.assertEqual(orig, new) + def testLargeIntAsFloat(self): + """PYSIDE-2417: When passing an int to a function taking float, + a 64bit conversion should be done.""" + point = sample.PointF(1, 2) + large_int = 2**31 + 2 + point.setX(large_int) + self.assertEqual(round(point.x()), large_int) + + def testUnsignedLongLongAsFloat(self): + """PYSIDE-2652: When passing an unsigned long long to a function taking float, + an unsigned 64bit conversion should be done.""" + point = sample.PointF(1, 2) + large_int = 2**63 + point.setX(large_int) + self.assertEqual(round(point.x()), large_int) + if __name__ == '__main__': unittest.main() |