summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-10-30 01:00:32 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-10-30 01:00:33 +0100
commitcd04181b2ba20e98a29a1782b3736539f70f6607 (patch)
treea5c82740a2145599d3d9a70598180f0cbe046ad9 /tests
parent3ea6a13a01f513ab491f698109fdf189e6264203 (diff)
parentb56e856d218976bf39d981468267337d8d6223f5 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/gui/rhi/qshader/data/README15
-rw-r--r--tests/auto/gui/rhi/qshader/data/color_all_v1.vert.qsb (renamed from tests/auto/gui/rhi/qshader/data/color.vert.qsb)bin1847 -> 1847 bytes
-rw-r--r--tests/auto/gui/rhi/qshader/data/color_spirv_v1.vert.qsb (renamed from tests/auto/gui/rhi/qshader/data/color_simple.vert.qsb)bin813 -> 813 bytes
-rw-r--r--tests/auto/gui/rhi/qshader/data/texture.frag16
-rw-r--r--tests/auto/gui/rhi/qshader/data/texture_all_v2.frag.qsbbin0 -> 1691 bytes
-rw-r--r--tests/auto/gui/rhi/qshader/data/texture_all_v3.frag.qsbbin0 -> 1432 bytes
-rw-r--r--tests/auto/gui/rhi/qshader/tst_qshader.cpp174
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp60
-rw-r--r--tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp26
-rw-r--r--tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp29
-rw-r--r--tests/auto/widgets/itemviews/qitemeditorfactory/tst_qitemeditorfactory.cpp8
11 files changed, 287 insertions, 41 deletions
diff --git a/tests/auto/gui/rhi/qshader/data/README b/tests/auto/gui/rhi/qshader/data/README
new file mode 100644
index 0000000000..3d89f2a0c5
--- /dev/null
+++ b/tests/auto/gui/rhi/qshader/data/README
@@ -0,0 +1,15 @@
+Warning: Do NOT regenerate the .qsb files without proper planning and understanding
+the following.
+
+Among other things, we are also testing backwards compatibility for QShader
+deserialization.
+
+.qsb files with _v1 in the name were produced with an older qtshadertools
+and have a QSB_VERSION of 1.
+
+Files with _v2 are generated with a newer qsb, those have QSB_VERSION 2.
+The difference is the support for nativeResourceBindingMap() which is only
+present in v2.
+
+Files with _v3 come from an even newer qsb, and have QSB_VERSION 3. The
+difference to 2 is the use of CBOR instead of binary JSON for QShaderDescription.
diff --git a/tests/auto/gui/rhi/qshader/data/color.vert.qsb b/tests/auto/gui/rhi/qshader/data/color_all_v1.vert.qsb
index 7d02d823d2..7d02d823d2 100644
--- a/tests/auto/gui/rhi/qshader/data/color.vert.qsb
+++ b/tests/auto/gui/rhi/qshader/data/color_all_v1.vert.qsb
Binary files differ
diff --git a/tests/auto/gui/rhi/qshader/data/color_simple.vert.qsb b/tests/auto/gui/rhi/qshader/data/color_spirv_v1.vert.qsb
index c82ba7e8e7..c82ba7e8e7 100644
--- a/tests/auto/gui/rhi/qshader/data/color_simple.vert.qsb
+++ b/tests/auto/gui/rhi/qshader/data/color_spirv_v1.vert.qsb
Binary files differ
diff --git a/tests/auto/gui/rhi/qshader/data/texture.frag b/tests/auto/gui/rhi/qshader/data/texture.frag
new file mode 100644
index 0000000000..bd22f817e0
--- /dev/null
+++ b/tests/auto/gui/rhi/qshader/data/texture.frag
@@ -0,0 +1,16 @@
+#version 440
+
+layout(location = 0) in vec2 qt_TexCoord;
+layout(location = 0) out vec4 fragColor;
+
+layout(std140, binding = 0) uniform buf {
+ mat4 qt_Matrix;
+ float opacity;
+} ubuf;
+
+layout(binding = 1) uniform sampler2D qt_Texture;
+
+void main()
+{
+ fragColor = texture(qt_Texture, qt_TexCoord) * ubuf.opacity;
+}
diff --git a/tests/auto/gui/rhi/qshader/data/texture_all_v2.frag.qsb b/tests/auto/gui/rhi/qshader/data/texture_all_v2.frag.qsb
new file mode 100644
index 0000000000..79f5486945
--- /dev/null
+++ b/tests/auto/gui/rhi/qshader/data/texture_all_v2.frag.qsb
Binary files differ
diff --git a/tests/auto/gui/rhi/qshader/data/texture_all_v3.frag.qsb b/tests/auto/gui/rhi/qshader/data/texture_all_v3.frag.qsb
new file mode 100644
index 0000000000..b6e49aa03d
--- /dev/null
+++ b/tests/auto/gui/rhi/qshader/data/texture_all_v3.frag.qsb
Binary files differ
diff --git a/tests/auto/gui/rhi/qshader/tst_qshader.cpp b/tests/auto/gui/rhi/qshader/tst_qshader.cpp
index 21f0cc7895..a0082f1e3b 100644
--- a/tests/auto/gui/rhi/qshader/tst_qshader.cpp
+++ b/tests/auto/gui/rhi/qshader/tst_qshader.cpp
@@ -40,6 +40,9 @@ private slots:
void genVariants();
void shaderDescImplicitSharing();
void bakedShaderImplicitSharing();
+ void mslResourceMapping();
+ void loadV3();
+ void serializeShaderDesc();
};
static QShader getShader(const QString &name)
@@ -53,8 +56,9 @@ static QShader getShader(const QString &name)
void tst_QShader::simpleCompileCheckResults()
{
- QShader s = getShader(QLatin1String(":/data/color_simple.vert.qsb"));
+ QShader s = getShader(QLatin1String(":/data/color_spirv_v1.vert.qsb"));
QVERIFY(s.isValid());
+ QCOMPARE(QShaderPrivate::get(&s)->qsbVersion, 1);
QCOMPARE(s.availableShaders().count(), 1);
const QShaderCode shader = s.shader(QShaderKey(QShader::SpirvShader,
@@ -125,10 +129,11 @@ void tst_QShader::simpleCompileCheckResults()
void tst_QShader::genVariants()
{
- QShader s = getShader(QLatin1String(":/data/color.vert.qsb"));
+ QShader s = getShader(QLatin1String(":/data/color_all_v1.vert.qsb"));
// spirv, glsl 100, glsl 330, glsl 120, hlsl 50, msl 12
// + batchable variants
QVERIFY(s.isValid());
+ QCOMPARE(QShaderPrivate::get(&s)->qsbVersion, 1);
QCOMPARE(s.availableShaders().count(), 2 * 6);
int batchableVariantCount = 0;
@@ -149,8 +154,9 @@ void tst_QShader::genVariants()
void tst_QShader::shaderDescImplicitSharing()
{
- QShader s = getShader(QLatin1String(":/data/color_simple.vert.qsb"));
+ QShader s = getShader(QLatin1String(":/data/color_spirv_v1.vert.qsb"));
QVERIFY(s.isValid());
+ QCOMPARE(QShaderPrivate::get(&s)->qsbVersion, 1);
QCOMPARE(s.availableShaders().count(), 1);
QVERIFY(s.availableShaders().contains(QShaderKey(QShader::SpirvShader, QShaderVersion(100))));
@@ -168,6 +174,7 @@ void tst_QShader::shaderDescImplicitSharing()
QCOMPARE(d1.inputVariables().count(), 2);
QCOMPARE(d1.outputVariables().count(), 1);
QCOMPARE(d1.uniformBlocks().count(), 1);
+ QCOMPARE(d0, d1);
d1.detach();
QVERIFY(QShaderDescriptionPrivate::get(&d0) != QShaderDescriptionPrivate::get(&d1));
@@ -177,12 +184,17 @@ void tst_QShader::shaderDescImplicitSharing()
QCOMPARE(d1.inputVariables().count(), 2);
QCOMPARE(d1.outputVariables().count(), 1);
QCOMPARE(d1.uniformBlocks().count(), 1);
+ QCOMPARE(d0, d1);
+
+ d1 = QShaderDescription();
+ QVERIFY(d0 != d1);
}
void tst_QShader::bakedShaderImplicitSharing()
{
- QShader s0 = getShader(QLatin1String(":/data/color_simple.vert.qsb"));
+ QShader s0 = getShader(QLatin1String(":/data/color_spirv_v1.vert.qsb"));
QVERIFY(s0.isValid());
+ QCOMPARE(QShaderPrivate::get(&s0)->qsbVersion, 1);
QCOMPARE(s0.availableShaders().count(), 1);
QVERIFY(s0.availableShaders().contains(QShaderKey(QShader::SpirvShader, QShaderVersion(100))));
@@ -229,5 +241,159 @@ void tst_QShader::bakedShaderImplicitSharing()
}
}
+void tst_QShader::mslResourceMapping()
+{
+ QShader s = getShader(QLatin1String(":/data/texture_all_v2.frag.qsb"));
+ QVERIFY(s.isValid());
+ QCOMPARE(QShaderPrivate::get(&s)->qsbVersion, 2);
+
+ const QVector<QShaderKey> availableShaders = s.availableShaders();
+ QCOMPARE(availableShaders.count(), 7);
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::SpirvShader, QShaderVersion(100))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::MslShader, QShaderVersion(12))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::HlslShader, QShaderVersion(50))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(100, QShaderVersion::GlslEs))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(120))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(150))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(330))));
+
+ const QShader::NativeResourceBindingMap *resMap =
+ s.nativeResourceBindingMap(QShaderKey(QShader::GlslShader, QShaderVersion(330)));
+ QVERIFY(!resMap);
+
+ // The Metal shader must come with a mapping table for binding points 0
+ // (uniform buffer) and 1 (combined image sampler mapped to a texture and
+ // sampler in the shader).
+ resMap = s.nativeResourceBindingMap(QShaderKey(QShader::MslShader, QShaderVersion(12)));
+ QVERIFY(resMap);
+
+ QCOMPARE(resMap->count(), 2);
+ QCOMPARE(resMap->value(0).first, 0); // mapped to native buffer index 0
+ QCOMPARE(resMap->value(1), qMakePair(0, 0)); // mapped to native texture index 0 and sampler index 0
+}
+
+void tst_QShader::loadV3()
+{
+ // qsb version 3: QShaderDescription is serialized as CBOR. Ensure the deserialized data is as expected.
+ QShader s = getShader(QLatin1String(":/data/texture_all_v3.frag.qsb"));
+ QVERIFY(s.isValid());
+ QCOMPARE(QShaderPrivate::get(&s)->qsbVersion, 3);
+
+ const QVector<QShaderKey> availableShaders = s.availableShaders();
+ QCOMPARE(availableShaders.count(), 7);
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::SpirvShader, QShaderVersion(100))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::MslShader, QShaderVersion(12))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::HlslShader, QShaderVersion(50))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(100, QShaderVersion::GlslEs))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(120))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(150))));
+ QVERIFY(availableShaders.contains(QShaderKey(QShader::GlslShader, QShaderVersion(330))));
+
+ const QShaderDescription desc = s.description();
+ QVERIFY(desc.isValid());
+ QCOMPARE(desc.inputVariables().count(), 1);
+ for (const QShaderDescription::InOutVariable &v : desc.inputVariables()) {
+ switch (v.location) {
+ case 0:
+ QCOMPARE(v.name, QLatin1String("qt_TexCoord"));
+ QCOMPARE(v.type, QShaderDescription::Vec2);
+ break;
+ default:
+ QVERIFY(false);
+ break;
+ }
+ }
+ QCOMPARE(desc.outputVariables().count(), 1);
+ for (const QShaderDescription::InOutVariable &v : desc.outputVariables()) {
+ switch (v.location) {
+ case 0:
+ QCOMPARE(v.name, QLatin1String("fragColor"));
+ QCOMPARE(v.type, QShaderDescription::Vec4);
+ break;
+ default:
+ QVERIFY(false);
+ break;
+ }
+ }
+ QCOMPARE(desc.uniformBlocks().count(), 1);
+ const QShaderDescription::UniformBlock blk = desc.uniformBlocks().first();
+ QCOMPARE(blk.blockName, QLatin1String("buf"));
+ QCOMPARE(blk.structName, QLatin1String("ubuf"));
+ QCOMPARE(blk.size, 68);
+ QCOMPARE(blk.binding, 0);
+ QCOMPARE(blk.descriptorSet, 0);
+ QCOMPARE(blk.members.count(), 2);
+ for (int i = 0; i < blk.members.count(); ++i) {
+ const QShaderDescription::BlockVariable v = blk.members[i];
+ switch (i) {
+ case 0:
+ QCOMPARE(v.offset, 0);
+ QCOMPARE(v.size, 64);
+ QCOMPARE(v.name, QLatin1String("qt_Matrix"));
+ QCOMPARE(v.type, QShaderDescription::Mat4);
+ QCOMPARE(v.matrixStride, 16);
+ break;
+ case 1:
+ QCOMPARE(v.offset, 64);
+ QCOMPARE(v.size, 4);
+ QCOMPARE(v.name, QLatin1String("opacity"));
+ QCOMPARE(v.type, QShaderDescription::Float);
+ break;
+ default:
+ QVERIFY(false);
+ break;
+ }
+ }
+}
+
+void tst_QShader::serializeShaderDesc()
+{
+ // default constructed QShaderDescription
+ {
+ QShaderDescription desc;
+ QVERIFY(!desc.isValid());
+
+ const QByteArray data = desc.toCbor();
+ QVERIFY(!data.isEmpty());
+
+ QShaderDescription desc2 = QShaderDescription::fromCbor(data);
+ QVERIFY(!desc2.isValid());
+ }
+
+ // a QShaderDescription with inputs, outputs, uniform block and combined image sampler
+ {
+ QShader s = getShader(QLatin1String(":/data/texture_all_v3.frag.qsb"));
+ QVERIFY(s.isValid());
+ const QShaderDescription desc = s.description();
+ QVERIFY(desc.isValid());
+
+ const QByteArray data = desc.toCbor();
+ QVERIFY(!data.isEmpty());
+
+ QShaderDescription desc2;
+ QVERIFY(!desc2.isValid());
+ QVERIFY(!(desc == desc2));
+ QVERIFY(desc != desc2);
+
+ desc2 = QShaderDescription::fromCbor(data);
+ QVERIFY(desc2.isValid());
+ QCOMPARE(desc, desc2);
+ }
+
+ // exercise QShader and QShaderDescription comparisons
+ {
+ QShader s1 = getShader(QLatin1String(":/data/texture_all_v3.frag.qsb"));
+ QVERIFY(s1.isValid());
+ QShader s2 = getShader(QLatin1String(":/data/color_all_v1.vert.qsb"));
+ QVERIFY(s2.isValid());
+
+ QVERIFY(s1.description().isValid());
+ QVERIFY(s2.description().isValid());
+
+ QVERIFY(s1 != s2);
+ QVERIFY(s1.description() != s2.description());
+ }
+}
+
#include <tst_qshader.moc>
QTEST_MAIN(tst_QShader)
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 04bda567ed..d7e35b77c0 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -511,6 +511,8 @@ private Q_SLOTS:
void autoDeleteReplies_data();
void autoDeleteReplies();
+ void getWithTimeout();
+ void postWithTimeout();
// NOTE: This test must be last!
void parentingRepliesToTheApp();
private:
@@ -589,6 +591,7 @@ public:
bool multiple;
int totalConnections;
+ bool stopTransfer = false;
bool hasContent = false;
int contentRead = 0;
int contentLength = 0;
@@ -655,7 +658,7 @@ protected:
// we need to emulate the bytesWrittenSlot call if the data is empty.
if (dataToTransmit.size() == 0) {
emit client->bytesWritten(0);
- } else {
+ } else if (!stopTransfer) {
client->write(dataToTransmit);
// FIXME: For SSL connections, if we don't flush the socket, the
// client never receives the data and since we're doing a disconnect
@@ -711,7 +714,8 @@ public slots:
Q_ASSERT(currentClient);
if (currentClient != client)
client = currentClient;
-
+ if (stopTransfer)
+ return;
receivedData += client->readAll();
const int doubleEndlPos = receivedData.indexOf("\r\n\r\n");
@@ -9338,6 +9342,58 @@ void tst_QNetworkReply::autoDeleteReplies()
}
}
+void tst_QNetworkReply::getWithTimeout()
+{
+ MiniHttpServer server(tst_QNetworkReply::httpEmpty200Response, false);
+
+ QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort())));
+ QNetworkReplyPtr reply(manager.get(request));
+ QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
+
+ QCOMPARE(waitForFinish(reply), int(Success));
+
+ QCOMPARE(spy.count(), 0);
+ QVERIFY(reply->error() == QNetworkReply::NoError);
+
+ request.setTransferTimeout(1000);
+ server.stopTransfer = true;
+
+ QNetworkReplyPtr reply2(manager.get(request));
+ QSignalSpy spy2(reply2.data(), SIGNAL(error(QNetworkReply::NetworkError)));
+
+ QCOMPARE(waitForFinish(reply2), int(Failure));
+
+ QCOMPARE(spy2.count(), 1);
+ QVERIFY(reply2->error() == QNetworkReply::OperationCanceledError);
+}
+
+void tst_QNetworkReply::postWithTimeout()
+{
+ MiniHttpServer server(tst_QNetworkReply::httpEmpty200Response, false);
+
+ QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort())));
+ request.setRawHeader("Content-Type", "application/octet-stream");
+ QByteArray postData("Just some nonsense");
+ QNetworkReplyPtr reply(manager.post(request, postData));
+ QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
+
+ QCOMPARE(waitForFinish(reply), int(Success));
+
+ QCOMPARE(spy.count(), 0);
+ QVERIFY(reply->error() == QNetworkReply::NoError);
+
+ request.setTransferTimeout(1000);
+ server.stopTransfer = true;
+
+ QNetworkReplyPtr reply2(manager.post(request, postData));
+ QSignalSpy spy2(reply2.data(), SIGNAL(error(QNetworkReply::NetworkError)));
+
+ QCOMPARE(waitForFinish(reply2), int(Failure));
+
+ QCOMPARE(spy2.count(), 1);
+ QVERIFY(reply2->error() == QNetworkReply::OperationCanceledError);
+}
+
// NOTE: This test must be last testcase in tst_qnetworkreply!
void tst_QNetworkReply::parentingRepliesToTheApp()
{
diff --git a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
index 5717afab51..856672b957 100644
--- a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
+++ b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
@@ -25,15 +25,16 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
+#include <QComboBox>
#include <QDataWidgetMapper>
-#include <QStandardItemModel>
#include <QLineEdit>
-#include <QComboBox>
+#include <QMetaType>
+#include <QStandardItemModel>
+#include <QSignalSpy>
+#include <QTest>
#include <QTextEdit>
#include <QVBoxLayout>
-#include <QTest>
-#include <QSignalSpy>
-#include <QMetaType>
class tst_QDataWidgetMapper: public QObject
{
@@ -56,7 +57,7 @@ private slots:
Q_DECLARE_METATYPE(QAbstractItemDelegate::EndEditHint)
-static QStandardItemModel *testModel(QObject *parent = 0)
+static QStandardItemModel *testModel(QObject *parent)
{
QStandardItemModel *model = new QStandardItemModel(10, 10, parent);
@@ -84,7 +85,7 @@ void tst_QDataWidgetMapper::setModel()
{ // let the model go out of scope firstma
QStandardItemModel model;
mapper.setModel(&model);
- QCOMPARE(mapper.model(), static_cast<QAbstractItemModel *>(&model));
+ QCOMPARE(mapper.model(), &model);
}
QCOMPARE(mapper.model(), nullptr);
@@ -273,7 +274,7 @@ void tst_QDataWidgetMapper::currentIndexChanged()
QAbstractItemModel *model = testModel(&mapper);
mapper.setModel(model);
- QSignalSpy spy(&mapper, SIGNAL(currentIndexChanged(int)));
+ QSignalSpy spy(&mapper, &QDataWidgetMapper::currentIndexChanged);
mapper.toFirst();
QCOMPARE(spy.count(), 1);
@@ -405,13 +406,13 @@ void tst_QDataWidgetMapper::mappedWidgetAt()
mapper.addMapping(&lineEdit1, 1);
mapper.addMapping(&lineEdit2, 2);
- QCOMPARE(mapper.mappedWidgetAt(1), static_cast<QWidget *>(&lineEdit1));
- QCOMPARE(mapper.mappedWidgetAt(2), static_cast<QWidget *>(&lineEdit2));
+ QCOMPARE(mapper.mappedWidgetAt(1), &lineEdit1);
+ QCOMPARE(mapper.mappedWidgetAt(2), &lineEdit2);
mapper.addMapping(&lineEdit2, 4242);
QCOMPARE(mapper.mappedWidgetAt(2), nullptr);
- QCOMPARE(mapper.mappedWidgetAt(4242), static_cast<QWidget *>(&lineEdit2));
+ QCOMPARE(mapper.mappedWidgetAt(4242), &lineEdit2);
}
void tst_QDataWidgetMapper::textEditDoesntChangeFocusOnTab_qtbug3305()
@@ -423,7 +424,8 @@ void tst_QDataWidgetMapper::textEditDoesntChangeFocusOnTab_qtbug3305()
QAbstractItemModel *model = testModel(&mapper);
mapper.setModel(model);
- QSignalSpy closeEditorSpy(mapper.itemDelegate(), SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)));
+ QSignalSpy closeEditorSpy(mapper.itemDelegate(),
+ &QAbstractItemDelegate::closeEditor);
QVERIFY(closeEditorSpy.isValid());
QWidget container;
diff --git a/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp b/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
index 6db1f78312..4824973576 100644
--- a/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
+++ b/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
@@ -27,16 +27,15 @@
****************************************************************************/
-#include <QtTest/QtTest>
-#include <qfileiconprovider.h>
-#include <qfileinfo.h>
+#include <QFileIconProvider>
+#include <QFileInfo>
+#include <QTest>
class tst_QFileIconProvider : public QObject
{
Q_OBJECT
private slots:
- void qfileiconprovider_data();
void qfileiconprovider();
void iconType_data();
@@ -51,21 +50,10 @@ private slots:
void taskQTBUG_46755_QFileIconEngine_crash();
};
-// Subclass that exposes the protected functions.
-class SubQFileIconProvider : public QFileIconProvider
-{
-public:
-
-};
-
-void tst_QFileIconProvider::qfileiconprovider_data()
-{
-}
-
void tst_QFileIconProvider::qfileiconprovider()
{
// don't crash
- SubQFileIconProvider provider;
+ QFileIconProvider provider;
}
Q_DECLARE_METATYPE(QFileIconProvider::IconType)
@@ -86,7 +74,7 @@ void tst_QFileIconProvider::iconType_data()
void tst_QFileIconProvider::iconType()
{
QFETCH(QFileIconProvider::IconType, type);
- SubQFileIconProvider provider;
+ QFileIconProvider provider;
QVERIFY(!provider.icon(type).isNull());
}
@@ -109,7 +97,7 @@ void tst_QFileIconProvider::iconInfo()
if (setPath)
QVERIFY(info.exists());
- SubQFileIconProvider provider;
+ QFileIconProvider provider;
// we should always get an icon
QVERIFY(!provider.icon(info).isNull());
}
@@ -131,7 +119,7 @@ void tst_QFileIconProvider::type_data()
void tst_QFileIconProvider::type()
{
QFETCH(QFileInfo, info);
- SubQFileIconProvider provider;
+ QFileIconProvider provider;
QVERIFY(!provider.type(info).isEmpty());
}
@@ -144,7 +132,8 @@ static QIcon getIcon()
void tst_QFileIconProvider::taskQTBUG_46755_QFileIconEngine_crash()
{
const QIcon &icon = getIcon();
- foreach (const QSize &size, icon.availableSizes())
+ const auto sizes = icon.availableSizes();
+ for (const QSize &size : sizes)
icon.pixmap(size);
// No crash, all good.
diff --git a/tests/auto/widgets/itemviews/qitemeditorfactory/tst_qitemeditorfactory.cpp b/tests/auto/widgets/itemviews/qitemeditorfactory/tst_qitemeditorfactory.cpp
index ae587279b2..ed4c543d0a 100644
--- a/tests/auto/widgets/itemviews/qitemeditorfactory/tst_qitemeditorfactory.cpp
+++ b/tests/auto/widgets/itemviews/qitemeditorfactory/tst_qitemeditorfactory.cpp
@@ -25,9 +25,11 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <QtGui/QtGui>
-#include <QtWidgets/QtWidgets>
-#include <QtTest/QtTest>
+
+
+#include <QDoubleSpinBox>
+#include <QItemEditorFactory>
+#include <QTest>
class tst_QItemEditorFactory: public QObject
{