summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp b/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp
index 3886051fdc..01bf16c295 100644
--- a/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp
+++ b/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp
@@ -297,9 +297,16 @@ void tst_QMimeData::setText() const
QVERIFY(mimeData.hasText() == false);
}
+// Publish retrieveData for verifying content validity
+class TstMetaData : public QMimeData
+{
+public:
+ using QMimeData::retrieveData;
+};
+
void tst_QMimeData::setUrls() const
{
- QMimeData mimeData;
+ TstMetaData mimeData;
QList<QUrl> shortUrlList;
QList<QUrl> longUrlList;
@@ -321,6 +328,14 @@ void tst_QMimeData::setUrls() const
QCOMPARE(mimeData.urls(), longUrlList);
QCOMPARE(mimeData.text(), QString("http://qt-project.org\nhttp://www.google.com\n"));
+ // test and verify that setData doesn't corrupt url content
+ foreach (const QString &format, mimeData.formats()) {
+ QVariant before = mimeData.retrieveData(format, QVariant::ByteArray);
+ mimeData.setData(format, mimeData.data(format));
+ QVariant after = mimeData.retrieveData(format, QVariant::ByteArray);
+ QCOMPARE(after, before);
+ }
+
// clear, verify
mimeData.clear();
QCOMPARE(mimeData.hasUrls(), false);