summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-03-15 21:30:55 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-20 22:22:41 +0100
commit83e055424af8331eafd744ea33dfe8a4ecdaf1e6 (patch)
tree2437c2861eaec2c275de3c2205af0ae152d1743a /tests
parent8727db0dad2243096c60a22d7697d06eff0b4a9c (diff)
Add QtJson types to meta-type system
Make QJsonValue, QJsonObject, QJsonArray and QJsonDocument first-class meta-types. This is an enabler for a lightweight integration with QML. Change-Id: I4725efdd2746cf97fd26d3632a99e8eee849f834 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp34
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp4
2 files changed, 36 insertions, 2 deletions
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index b22a3d526a..72ad3080d6 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -541,6 +541,36 @@ template<> struct TestValueFactory<QMetaType::QRegularExpression> {
#endif
}
};
+template<> struct TestValueFactory<QMetaType::QJsonValue> {
+ static QJsonValue *create() { return new QJsonValue(123.); }
+};
+template<> struct TestValueFactory<QMetaType::QJsonObject> {
+ static QJsonObject *create() {
+ QJsonObject *o = new QJsonObject();
+ o->insert("a", 123.);
+ o->insert("b", true);
+ o->insert("c", QJsonValue::Null);
+ o->insert("d", QLatin1String("ciao"));
+ return o;
+ }
+};
+template<> struct TestValueFactory<QMetaType::QJsonArray> {
+ static QJsonArray *create() {
+ QJsonArray *a = new QJsonArray();
+ a->append(123.);
+ a->append(true);
+ a->append(QJsonValue::Null);
+ a->append(QLatin1String("ciao"));
+ return a;
+ }
+};
+template<> struct TestValueFactory<QMetaType::QJsonDocument> {
+ static QJsonDocument *create() {
+ return new QJsonDocument(
+ QJsonDocument::fromJson("{ 'foo': 123, 'bar': [true, null, 'ciao'] }")
+ );
+ }
+};
template<> struct TestValueFactory<QMetaType::QVariant> {
static QVariant *create() { return new QVariant(QStringList(QStringList() << "Q" << "t")); }
};
@@ -1339,6 +1369,10 @@ struct StreamingTraits
DECLARE_NONSTREAMABLE(void)
DECLARE_NONSTREAMABLE(void*)
DECLARE_NONSTREAMABLE(QModelIndex)
+DECLARE_NONSTREAMABLE(QJsonValue)
+DECLARE_NONSTREAMABLE(QJsonObject)
+DECLARE_NONSTREAMABLE(QJsonArray)
+DECLARE_NONSTREAMABLE(QJsonDocument)
DECLARE_NONSTREAMABLE(QObject*)
DECLARE_NONSTREAMABLE(QWidget*)
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 05655b4df6..3d4692db39 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -1643,8 +1643,8 @@ void tst_QVariant::writeToReadFromOldDataStream()
void tst_QVariant::checkDataStream()
{
- QTest::ignoreMessage(QtWarningMsg, "Trying to construct an instance of an invalid type, type id: 46");
- const QByteArray settingsHex("0000002effffffffff");
+ QTest::ignoreMessage(QtWarningMsg, "Trying to construct an instance of an invalid type, type id: 49");
+ const QByteArray settingsHex("00000031ffffffffff");
const QByteArray settings = QByteArray::fromHex(settingsHex);
QDataStream in(settings);
QVariant v;