summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qduplicatetracker_p.h5
-rw-r--r--tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp16
2 files changed, 21 insertions, 0 deletions
diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h
index 19f69161a6..eab63bab9b 100644
--- a/src/corelib/tools/qduplicatetracker_p.h
+++ b/src/corelib/tools/qduplicatetracker_p.h
@@ -148,6 +148,11 @@ public:
return appendTo(c); // lvalue version
}
}
+
+ void clear()
+ {
+ set.clear();
+ }
};
QT_END_NAMESPACE
diff --git a/tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp b/tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp
index 12a4103060..f2cb3b3b44 100644
--- a/tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp
+++ b/tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp
@@ -38,6 +38,7 @@ class tst_QDuplicateTracker : public QObject
Q_OBJECT
private slots:
void hasSeen();
+ void clear();
void appendTo();
void appendTo_special();
};
@@ -76,6 +77,21 @@ void tst_QDuplicateTracker::hasSeen()
}
}
+void tst_QDuplicateTracker::clear()
+{
+ QDuplicateTracker<int, 2> tracker;
+ QVERIFY(!tracker.hasSeen(0));
+ QVERIFY(tracker.hasSeen(0));
+ QVERIFY(!tracker.hasSeen(1));
+ QVERIFY(tracker.hasSeen(1));
+
+ tracker.clear();
+ QVERIFY(!tracker.hasSeen(0));
+ QVERIFY(tracker.hasSeen(0));
+ QVERIFY(!tracker.hasSeen(1));
+ QVERIFY(tracker.hasSeen(1));
+}
+
void tst_QDuplicateTracker::appendTo()
{
QDuplicateTracker<int, 2> tracker;