diff options
Diffstat (limited to 'sources/shiboken6/tests')
4 files changed, 17 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libminimal/listuser.cpp b/sources/shiboken6/tests/libminimal/listuser.cpp index 402696acd..5ad570faa 100644 --- a/sources/shiboken6/tests/libminimal/listuser.cpp +++ b/sources/shiboken6/tests/libminimal/listuser.cpp @@ -123,3 +123,8 @@ void ListUser::setStdIntList(const std::list<int> &l) { m_stdIntList = l; } + +std::list<int> &ListUser::getIntList() +{ + return m_stdIntList; +} diff --git a/sources/shiboken6/tests/libminimal/listuser.h b/sources/shiboken6/tests/libminimal/listuser.h index 31c4efbd1..e3b38049c 100644 --- a/sources/shiboken6/tests/libminimal/listuser.h +++ b/sources/shiboken6/tests/libminimal/listuser.h @@ -71,6 +71,7 @@ struct LIBMINIMAL_API ListUser int callSumListOfIntLists(std::list<std::list<int> > intListList) { return sumListOfIntLists(intListList); } void setStdIntList(const std::list<int> &l); + std::list<int> &getIntList(); std::list<int> m_stdIntList; }; diff --git a/sources/shiboken6/tests/minimalbinding/listuser_test.py b/sources/shiboken6/tests/minimalbinding/listuser_test.py index 1a11ccfbf..7bb65d359 100644 --- a/sources/shiboken6/tests/minimalbinding/listuser_test.py +++ b/sources/shiboken6/tests/minimalbinding/listuser_test.py @@ -345,6 +345,12 @@ class ListOfIntListConversionTest(unittest.TestCase): self.assertEqual(len(lu.m_stdIntList), 3) self.assertEqual(lu.m_stdIntList[2], 5) + # Access list via getter + l = lu.getIntList() + l.append(6) + self.assertEqual(len(lu.m_stdIntList), 4) + self.assertEqual(lu.m_stdIntList[3], 6) + if __name__ == '__main__': unittest.main() diff --git a/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml b/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml index 40973fa5f..94ec4a649 100644 --- a/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml +++ b/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml @@ -48,6 +48,11 @@ </value-type> <value-type name="ListUser"> <modify-field name="m_stdIntList" opaque-container="yes"/> + <modify-function signature="getIntList()"> + <modify-argument index="return"> + <replace-type modified-type="StdIntList"/> + </modify-argument> + </modify-function> </value-type> <value-type name="MinBoolUser"/> |