aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.lima@openbossa.org>2010-06-08 09:59:01 -0300
committerHugo Parente Lima <hugo.lima@openbossa.org>2010-06-10 14:57:42 -0300
commit00918cb847dfa1b28acb791c66cb444bc2123f79 (patch)
tree73e3b0c28fdb534cefc5eb8bc06cacbab08ee111
parentccd189d30c284e9a67a802193ef05c4149108f9a (diff)
Added QDataStream methods to read and write QString, QChar and QStringList.
-rw-r--r--PySide/QtCore/typesystem_core.xml52
-rw-r--r--tests/QtCore/qdatastream_test.py46
2 files changed, 66 insertions, 32 deletions
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml
index 56c8b3097..625886198 100644
--- a/PySide/QtCore/typesystem_core.xml
+++ b/PySide/QtCore/typesystem_core.xml
@@ -2050,6 +2050,7 @@
<modify-function signature="operator&gt;&gt;(float&amp;)" remove="all"/>
<modify-function signature="operator&gt;&gt;(double&amp;)" remove="all"/>
<modify-function signature="operator&gt;&gt;(char*&amp;)" remove="all"/>
+ <modify-function signature="operator&gt;&gt;(QDataStream&amp;,QVariant&amp;)" remove="all"/>
<modify-function signature="operator&lt;&lt;(qint8)" remove="all"/>
<modify-function signature="operator&lt;&lt;(bool)" remove="all"/>
@@ -2062,8 +2063,57 @@
<modify-function signature="operator&lt;&lt;(quint64)" remove="all"/>
<modify-function signature="operator&lt;&lt;(float)" remove="all"/>
<modify-function signature="operator&lt;&lt;(double)" remove="all"/>
-
+ <modify-function signature="operator&lt;&lt;(QDataStream&amp;,const QVariant&amp;)" remove="all"/>
<modify-function signature="operator&lt;&lt;(const char*)" remove="all"/>
+ <add-function signature="writeQString(const QString&amp;)">
+ <inject-code class="target">
+ *(%CPPSELF) &lt;&lt; %1;
+ </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>
+ </add-function>
+ <add-function signature="writeQChar(const QChar&amp;)">
+ <inject-code class="target">
+ *(%CPPSELF) &lt;&lt; %1;
+ </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>
+ </add-function>
+ <add-function signature="writeQStringList(const QStringList&amp;)">
+ <inject-code class="target">
+ *(%CPPSELF) &lt;&lt; %1;
+ </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>
+ </add-function>
+ <add-function signature="writeQVariant(const QVariant&amp;)">
+ <inject-code class="target">
+ *(%CPPSELF) &lt;&lt; %1;
+ </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>
+ </add-function>
+
<modify-function signature="readRawData(char*,int)" remove="all"/>
<modify-function signature="readBytes(char*&amp;,uint&amp;)" remove="all"/>
<modify-function signature="writeRawData(const char*,int)" remove="all"/>
diff --git a/tests/QtCore/qdatastream_test.py b/tests/QtCore/qdatastream_test.py
index e80918597..b634a7e39 100644
--- a/tests/QtCore/qdatastream_test.py
+++ b/tests/QtCore/qdatastream_test.py
@@ -76,22 +76,17 @@ class QDataStreamShift(unittest.TestCase):
def testQCharValid(self):
'''QDataStream <<>> QChar - valid'''
- self.stream << QChar(42)
+ self.stream.writeQChar(42)
- res = QChar()
-
- self.read_stream >> res
- self.assertEqual(res, QChar(42))
+ res = self.read_stream.readQChar()
+ self.assertEqual(res, unichr(42))
def testQCharNull(self):
'''QDataStream <<>> QChar - null'''
- self.stream << QChar()
+ self.stream.writeQChar(None)
- res = QChar()
-
- self.read_stream >> res
- self.assertEqual(res, QChar())
- self.assert_(res.isNull())
+ res = self.read_stream.readQChar()
+ self.assertEqual(res, u'\x00')
def testQByteArrayValid(self):
'''QDataStream <<>> QByteArray - valid'''
@@ -126,35 +121,24 @@ class QDataStreamShift(unittest.TestCase):
def testQStringValid(self):
'''QDataStream <<>> QString - valid'''
- self.stream << QString('Ka-boom')
-
- res = QString()
+ self.stream.writeQString('Ka-boom')
- self.read_stream >> res
- self.assertEqual(res, QString('Ka-boom'))
+ res = self.read_stream.readQString()
+ self.assertEqual(res, u'Ka-boom')
def testQStringEmpty(self):
'''QDataStream <<>> QString - empty'''
- self.stream << QString('')
-
- res = QString()
+ self.stream.writeQString('')
- self.read_stream >> res
- self.assertEqual(res, QString(""))
- self.assert_(res.isEmpty())
- self.assert_(not res.isNull())
+ res = self.read_stream.readQString()
+ self.assertEqual(res, u'')
def testQStringNull(self):
'''QDataStream <<>> QString - null'''
- self.stream << QString()
-
- res = QString()
-
- self.read_stream >> res
- self.assertEqual(res, QString())
- self.assert_(res.isEmpty())
- self.assert_(res.isNull())
+ self.stream.writeQString(None)
+ res = self.read_stream.readQString()
+ self.assertEqual(res, u'')
def testQBitArrayNull(self):
'''QDataStream <<>> QBitArray - null'''