aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PySide/QtCore/typesystem_core.xml46
-rw-r--r--tests/QtCore/CMakeLists.txt1
-rw-r--r--tests/QtCore/bug_1069.py22
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&lt;&lt;(double)" remove="all"/>
<modify-function signature="operator&lt;&lt;(const char*)" remove="all"/>
<!-- ### -->
+ <add-function signature="operator&lt;&lt;(const QString&amp;)">
+ <inject-code class="target" position="end">
+ <insert-template name="stream_write_method"/>
+ </inject-code>
+ </add-function>
<add-function signature="writeQString(const QString&amp;)">
- <inject-code class="target">
- *(%CPPSELF) &lt;&lt; %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) &gt;&gt; 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&amp;)">
- <inject-code class="target">
- *(%CPPSELF) &lt;&lt; %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) &gt;&gt; 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&amp;)">
- <inject-code class="target">
- *(%CPPSELF) &lt;&lt; %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) &gt;&gt; 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&amp;)">
- <inject-code class="target">
- *(%CPPSELF) &lt;&lt; %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) &gt;&gt; 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()