aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/tests/smartbinding/smart_pointer_test.py
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.araujo@kdab.com>2019-02-18 14:43:41 -0300
committerRenato Araujo Oliveira Filho <renato.araujo@kdab.com>2019-02-26 18:02:21 +0000
commit2dd12f480d35194eaa2c97638cf972a09803c68a (patch)
treeb3eca28cdd9aaf496bc4a925d38e101839d94b14 /sources/shiboken2/tests/smartbinding/smart_pointer_test.py
parentc6c1a3e099a8139137d6ef133d1d399ba1ee38bd (diff)
Fix conversions of list of smart pointers to python
While converting smart pointers do not initialize the object with default/minimal constructor. Change-Id: Ie9400d8487accc0c90b0f0b31b855038ae698b5c Task-Id: PYSIDE-947 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/shiboken2/tests/smartbinding/smart_pointer_test.py')
-rw-r--r--sources/shiboken2/tests/smartbinding/smart_pointer_test.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/sources/shiboken2/tests/smartbinding/smart_pointer_test.py b/sources/shiboken2/tests/smartbinding/smart_pointer_test.py
index 62bfc0500..e07856e61 100644
--- a/sources/shiboken2/tests/smartbinding/smart_pointer_test.py
+++ b/sources/shiboken2/tests/smartbinding/smart_pointer_test.py
@@ -156,5 +156,24 @@ class SmartPointerTests(unittest.TestCase):
integer = ptrToInteger.data()
self.assertTrue(integer)
+ def testListOfSmartPointers(self):
+ # Create the main object
+ o = Obj()
+
+ # Create a list of shared objects
+ ptrToObjList = o.giveSharedPtrToObjList(10)
+ self.assertEqual(len(ptrToObjList), 10)
+ self.assertEqual(objCount(), 11)
+
+ # Remove one from the list
+ ptrToObjList.pop()
+ self.assertEqual(len(ptrToObjList), 9)
+ self.assertEqual(objCount(), 10)
+
+ # clear and delete all objects in the list
+ ptrToObjList.clear()
+ self.assertEqual(len(ptrToObjList), 0)
+ self.assertEqual(objCount(), 1)
+
if __name__ == '__main__':
unittest.main()