summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-02-17 11:11:28 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-02-18 15:45:08 +0000
commit9c90e976b02825515b364cc942bb0c160d3afb54 (patch)
tree5f46bf4181f2d73c6957b18eb37f03b434089521
parent4cafeba508c452d0c618b5a713f54ece3042fbd3 (diff)
QJsonObject: Fix operator<=()
We had a copy-paste error there. Change-Id: Ib1448197ac4f4641c6559f133f41dcf326f210f1 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit a2e23bca0f2b43a26e2e489f83cfe2e521da63b9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/corelib/serialization/qjsonobject.h2
-rw-r--r--tests/auto/corelib/serialization/json/tst_qtjson.cpp31
2 files changed, 32 insertions, 1 deletions
diff --git a/src/corelib/serialization/qjsonobject.h b/src/corelib/serialization/qjsonobject.h
index 1e6cc65227..e477345643 100644
--- a/src/corelib/serialization/qjsonobject.h
+++ b/src/corelib/serialization/qjsonobject.h
@@ -153,7 +153,7 @@ public:
bool operator<(const iterator& other) const
{ Q_ASSERT(item.o == other.item.o); return item.index < other.item.index; }
bool operator<=(const iterator& other) const
- { Q_ASSERT(item.o == other.item.o); return item.index < other.item.index; }
+ { Q_ASSERT(item.o == other.item.o); return item.index <= other.item.index; }
bool operator>(const iterator& other) const { return !(*this <= other); }
bool operator>=(const iterator& other) const { return !(*this < other); }
diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
index 64f410d557..eb9c6ecd4d 100644
--- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
@@ -170,6 +170,8 @@ private Q_SLOTS:
void fromToVariantConversions_data();
void fromToVariantConversions();
+ void testIteratorComparison();
+
private:
QString testDataDir;
};
@@ -3520,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"