diff options
author | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-08 09:59:01 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 14:57:42 -0300 |
commit | 00918cb847dfa1b28acb791c66cb444bc2123f79 (patch) | |
tree | 73e3b0c28fdb534cefc5eb8bc06cacbab08ee111 | |
parent | ccd189d30c284e9a67a802193ef05c4149108f9a (diff) |
Added QDataStream methods to read and write QString, QChar and QStringList.
-rw-r--r-- | PySide/QtCore/typesystem_core.xml | 52 | ||||
-rw-r--r-- | tests/QtCore/qdatastream_test.py | 46 |
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>>(float&)" remove="all"/> <modify-function signature="operator>>(double&)" remove="all"/> <modify-function signature="operator>>(char*&)" remove="all"/> + <modify-function signature="operator>>(QDataStream&,QVariant&)" remove="all"/> <modify-function signature="operator<<(qint8)" remove="all"/> <modify-function signature="operator<<(bool)" remove="all"/> @@ -2062,8 +2063,57 @@ <modify-function signature="operator<<(quint64)" remove="all"/> <modify-function signature="operator<<(float)" remove="all"/> <modify-function signature="operator<<(double)" remove="all"/> - + <modify-function signature="operator<<(QDataStream&,const QVariant&)" remove="all"/> <modify-function signature="operator<<(const char*)" remove="all"/> + <add-function signature="writeQString(const QString&)"> + <inject-code class="target"> + *(%CPPSELF) << %1; + </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> + </add-function> + <add-function signature="writeQChar(const QChar&)"> + <inject-code class="target"> + *(%CPPSELF) << %1; + </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> + </add-function> + <add-function signature="writeQStringList(const QStringList&)"> + <inject-code class="target"> + *(%CPPSELF) << %1; + </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> + </add-function> + <add-function signature="writeQVariant(const QVariant&)"> + <inject-code class="target"> + *(%CPPSELF) << %1; + </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> + </add-function> + <modify-function signature="readRawData(char*,int)" remove="all"/> <modify-function signature="readBytes(char*&,uint&)" 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''' |