summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarko Kangas <marko.kangas@theqtcompany.com>2015-04-16 16:11:06 +0300
committerMarko Kangas <marko.kangas@theqtcompany.com>2015-04-28 12:46:35 +0000
commit0abf5ec7c4e035f2d37b45cc2da583df829ec0d0 (patch)
treedd6930ea6412102b0b558a48691f3db4bb3f45a6 /tests
parentf15d6c3fa910d5200e245fe15ae9932f4b4eca78 (diff)
Add support to set text/uri-list mimedata via setData()
Fixed issue that text/uri-list mimedata got from QMimeData::data() was corrupted after setting it back via QMimeData::setData() Change-Id: I2377523a9286519402ab9127ed7f3fa66e39a679 Task-number: QTBUG-45486 Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests')
-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);