summaryrefslogtreecommitdiffstats
path: root/tests/auto/tst_qtjson.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/tst_qtjson.cpp')
-rw-r--r--tests/auto/tst_qtjson.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/tests/auto/tst_qtjson.cpp b/tests/auto/tst_qtjson.cpp
index 70dfa74..4a749ec 100644
--- a/tests/auto/tst_qtjson.cpp
+++ b/tests/auto/tst_qtjson.cpp
@@ -89,6 +89,8 @@ private Q_SLOTS:
void toJson();
void fromJson();
void fromBinary();
+ void toAndFromBinary_data();
+ void toAndFromBinary();
void parseNumbers();
void parseStrings();
void testParser();
@@ -469,7 +471,9 @@ void TestQtJson::testObjectNestedEmpty()
QJsonDocument(object).toBinaryData();
QVERIFY(object.value("inner").toObject().isEmpty());
QVERIFY(object.value("inner2").toObject().isEmpty());
- QJsonObject reconstituted(QJsonDocument::fromBinaryData(QJsonDocument(object).toBinaryData()).object());
+ QJsonDocument doc = QJsonDocument::fromBinaryData(QJsonDocument(object).toBinaryData());
+ QVERIFY(doc.isValid());
+ QJsonObject reconstituted(doc.object());
QCOMPARE(reconstituted.value("inner").toObject().size(), 0);
QCOMPARE(reconstituted.value("inner").type(), QJsonValue::Object);
QCOMPARE(reconstituted.value("inner2").type(), QJsonValue::Object);
@@ -1013,17 +1017,41 @@ void TestQtJson::fromBinary()
QByteArray testJson = file.readAll();
QJsonDocument doc = QJsonDocument::fromJson(testJson);
+ QJsonDocument outdoc = QJsonDocument::fromBinaryData(doc.toBinaryData());
+ QVERIFY(outdoc.isValid());
+ QVERIFY(doc == outdoc);
QFile bfile(QLatin1String("test.bjson"));
bfile.open(QFile::ReadOnly);
QByteArray binary = bfile.readAll();
QJsonDocument bdoc = QJsonDocument::fromBinaryData(binary);
-
+ QVERIFY(bdoc.isValid());
QVERIFY(doc.toVariant() == bdoc.toVariant());
QVERIFY(doc == bdoc);
}
+void TestQtJson::toAndFromBinary_data()
+{
+ QTest::addColumn<QString>("filename");
+ QTest::newRow("test.json") << QString::fromLatin1("test.json");
+ QTest::newRow("test2.json") << QString::fromLatin1("test2.json");
+}
+
+void TestQtJson::toAndFromBinary()
+{
+ QFETCH(QString, filename);
+ QFile file(filename);
+ QVERIFY(file.open(QFile::ReadOnly));
+ QByteArray data = file.readAll();
+
+ QJsonDocument doc = QJsonDocument::fromJson(data);
+ QVERIFY(doc.isValid());
+ QJsonDocument outdoc = QJsonDocument::fromBinaryData(doc.toBinaryData());
+ QVERIFY(outdoc.isValid());
+ QVERIFY(doc == outdoc);
+}
+
void TestQtJson::parseNumbers()
{
{