diff options
-rw-r--r-- | PySide/QtCore/typesystem_core.xml | 46 | ||||
-rw-r--r-- | tests/QtCore/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtCore/bug_1069.py | 22 |
3 files changed, 44 insertions, 25 deletions
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 8c843e2d9..5af8fe538 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -2666,55 +2666,51 @@ <modify-function signature="operator<<(double)" remove="all"/> <modify-function signature="operator<<(const char*)" remove="all"/> <!-- ### --> + <add-function signature="operator<<(const QString&)"> + <inject-code class="target" position="end"> + <insert-template name="stream_write_method"/> + </inject-code> + </add-function> <add-function signature="writeQString(const QString&)"> - <inject-code class="target"> - *(%CPPSELF) << %1; + <inject-code class="target" position="end"> + <insert-template name="stream_write_method"/> </inject-code> </add-function> <add-function signature="readQString()" return-type="QString"> - <inject-code class="target"> - %RETURN_TYPE val; - *(%CPPSELF) >> val; - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](val); + <inject-code class="target" position="end"> + <insert-template name="stream_read_method"/> </inject-code> </add-function> <add-function signature="writeQChar(const QChar&)"> - <inject-code class="target"> - *(%CPPSELF) << %1; + <inject-code class="target" position="end"> + <insert-template name="stream_write_method"/> </inject-code> </add-function> <add-function signature="readQChar()" return-type="QChar"> - <inject-code class="target"> - %RETURN_TYPE val; - *(%CPPSELF) >> val; - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](val); + <inject-code class="target" position="end"> + <insert-template name="stream_read_method"/> </inject-code> </add-function> <add-function signature="writeQStringList(const QStringList&)"> - <inject-code class="target"> - *(%CPPSELF) << %1; + <inject-code class="target" position="end"> + <insert-template name="stream_write_method"/> </inject-code> </add-function> <add-function signature="readQStringList()" return-type="QStringList"> - <inject-code class="target"> - %RETURN_TYPE val; - *(%CPPSELF) >> val; - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](val); + <inject-code class="target" position="end"> + <insert-template name="stream_read_method"/> </inject-code> </add-function> <add-function signature="writeQVariant(const QVariant&)"> - <inject-code class="target"> - *(%CPPSELF) << %1; + <inject-code class="target" position="end"> + <insert-template name="stream_write_method"/> </inject-code> </add-function> <add-function signature="readQVariant()" return-type="QVariant"> - <inject-code class="target"> - %RETURN_TYPE val; - *(%CPPSELF) >> val; - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](val); + <inject-code class="target" position="end"> + <insert-template name="stream_read_method"/> </inject-code> </add-function> - <modify-function signature="readRawData(char*,int)"> <modify-argument index="1"> <remove-argument /> diff --git a/tests/QtCore/CMakeLists.txt b/tests/QtCore/CMakeLists.txt index ca737063c..388d38c07 100644 --- a/tests/QtCore/CMakeLists.txt +++ b/tests/QtCore/CMakeLists.txt @@ -25,6 +25,7 @@ PYSIDE_TEST(bug_987.py) PYSIDE_TEST(bug_994.py) PYSIDE_TEST(bug_1019.py) PYSIDE_TEST(bug_1031.py) +PYSIDE_TEST(bug_1069.py) PYSIDE_TEST(blocking_signals_test.py) PYSIDE_TEST(classinfo_test.py) PYSIDE_TEST(child_event_test.py) diff --git a/tests/QtCore/bug_1069.py b/tests/QtCore/bug_1069.py new file mode 100644 index 000000000..7033e1873 --- /dev/null +++ b/tests/QtCore/bug_1069.py @@ -0,0 +1,22 @@ +''' unit test for BUG #1069 ''' + +from PySide import QtCore +import unittest + +class QDataStreamOpOverloadTestCase(unittest.TestCase): + def setUp(self): + self.ba = QtCore.QByteArray() + self.stream = QtCore.QDataStream(self.ba, QtCore.QIODevice.WriteOnly) + + def testIt(self): + self.stream << "hello" + ok = False + for c in self.ba: + if c != b'\x00': + ok = True + break + + self.assertEqual(ok, True) + +if __name__ == "__main__": + unittest.main() |