diff options
Diffstat (limited to 'tests/auto/corelib/serialization/json/tst_qtjson.cpp')
-rw-r--r-- | tests/auto/corelib/serialization/json/tst_qtjson.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp index 2153c9eff7..eb9c6ecd4d 100644 --- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp +++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp @@ -58,6 +58,7 @@ private Q_SLOTS: void testNumberComparisons(); void testObjectSimple(); + void testObjectTakeDetach(); void testObjectSmallKeys(); void testObjectInsertCopies(); void testArraySimple(); @@ -169,6 +170,8 @@ private Q_SLOTS: void fromToVariantConversions_data(); void fromToVariantConversions(); + void testIteratorComparison(); + private: QString testDataDir; }; @@ -575,6 +578,24 @@ void tst_QtJson::testObjectSimple() QCOMPARE(subvalue.toObject(), subobject); } +void tst_QtJson::testObjectTakeDetach() +{ + QJsonObject object1, object2; + object1["key1"] = 1; + object1["key2"] = 2; + object2 = object1; + + object1.take("key2"); + object1.remove("key1"); + QVERIFY(!object1.contains("key1")); + QVERIFY(object2.contains("key1")); + QVERIFY(object2.value("key1").isDouble()); + + QVERIFY(!object1.contains("key2")); + QVERIFY(object2.contains("key2")); + QVERIFY(object2.value("key2").isDouble()); +} + void tst_QtJson::testObjectSmallKeys() { QJsonObject data1; @@ -3501,5 +3522,34 @@ void tst_QtJson::fromToVariantConversions() } } +void tst_QtJson::testIteratorComparison() +{ + QJsonObject t = QJsonObject::fromVariantHash({ + { QStringLiteral("a"), QVariant(12) }, + { QStringLiteral("b"), QVariant(13) } + }); + + QVERIFY(t.begin() == t.begin()); + QVERIFY(t.begin() <= t.begin()); + QVERIFY(t.begin() >= t.begin()); + QVERIFY(!(t.begin() != t.begin())); + QVERIFY(!(t.begin() < t.begin())); + QVERIFY(!(t.begin() > t.begin())); + + QVERIFY(!(t.begin() == t.end())); + QVERIFY(t.begin() <= t.end()); + QVERIFY(!(t.begin() >= t.end())); + QVERIFY(t.begin() != t.end()); + QVERIFY(t.begin() < t.end()); + QVERIFY(!(t.begin() > t.end())); + + QVERIFY(!(t.end() == t.begin())); + QVERIFY(!(t.end() <= t.begin())); + QVERIFY(t.end() >= t.begin()); + QVERIFY(t.end() != t.begin()); + QVERIFY(!(t.end() < t.begin())); + QVERIFY(t.end() > t.begin()); +} + QTEST_MAIN(tst_QtJson) #include "tst_qtjson.moc" |