diff options
Diffstat (limited to 'tests/auto/gui')
-rw-r--r-- | tests/auto/gui/util/qtexturefilereader/qtexturefilereader.pro | 5 | ||||
-rw-r--r-- | tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc | 6 | ||||
-rw-r--r-- | tests/auto/gui/util/qtexturefilereader/texturefiles/car.ktx | bin | 0 -> 11908 bytes | |||
-rw-r--r-- | tests/auto/gui/util/qtexturefilereader/texturefiles/pattern.pkm | bin | 0 -> 2064 bytes | |||
-rw-r--r-- | tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp | 97 | ||||
-rw-r--r-- | tests/auto/gui/util/util.pro | 2 |
6 files changed, 109 insertions, 1 deletions
diff --git a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.pro b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.pro new file mode 100644 index 0000000000..43951fe722 --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.pro @@ -0,0 +1,5 @@ +CONFIG += testcase +QT += testlib gui-private +SOURCES += tst_qtexturefilereader.cpp +TARGET = tst_qtexturefilereader +RESOURCES += qtexturefilereader.qrc diff --git a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc new file mode 100644 index 0000000000..74f33d57ad --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc @@ -0,0 +1,6 @@ +<RCC> + <qresource prefix="/"> + <file>texturefiles/car.ktx</file> + <file>texturefiles/pattern.pkm</file> + </qresource> +</RCC> diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/car.ktx b/tests/auto/gui/util/qtexturefilereader/texturefiles/car.ktx Binary files differnew file mode 100644 index 0000000000..2aefdd306b --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/texturefiles/car.ktx diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/pattern.pkm b/tests/auto/gui/util/qtexturefilereader/texturefiles/pattern.pkm Binary files differnew file mode 100644 index 0000000000..d986e89b2d --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/texturefiles/pattern.pkm diff --git a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp new file mode 100644 index 0000000000..f480184067 --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <private/qtexturefilereader_p.h> +#include <QtTest> + +class tst_qtexturefilereader : public QObject +{ + Q_OBJECT + +private slots: + void checkHandlers_data(); + void checkHandlers(); +}; + +void tst_qtexturefilereader::checkHandlers_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<QSize>("size"); + QTest::addColumn<quint32>("glFormat"); + QTest::addColumn<quint32>("glInternalFormat"); + // todo: glBaseInternalFormat + QTest::addColumn<int>("levels"); + QTest::addColumn<int>("dataOffset"); + QTest::addColumn<int>("dataLength"); + + QTest::addRow("pattern.pkm") << QStringLiteral(":/texturefiles/pattern.pkm") + << QSize(64, 64) + << quint32(0x0) + << quint32(0x8d64) + << 1 + << 16 + << 2048; + + QTest::addRow("car.ktx") << QStringLiteral(":/texturefiles/car.ktx") + << QSize(146, 80) + << quint32(0x0) + << quint32(0x9278) + << 1 + << 68 + << 11840; +} + +void tst_qtexturefilereader::checkHandlers() +{ + QFETCH(QString, fileName); + QFETCH(QSize, size); + QFETCH(quint32, glFormat); + QFETCH(quint32, glInternalFormat); + QFETCH(int, levels); + QFETCH(int, dataOffset); + QFETCH(int, dataLength); + + QFile f(fileName); + QVERIFY(f.open(QIODevice::ReadOnly)); + QTextureFileReader r(&f, fileName); + QVERIFY(r.canRead()); + + QTextureFileData tex = r.read(); + QVERIFY(!tex.isNull()); + QVERIFY(tex.isValid()); + QCOMPARE(tex.size(), size); + QCOMPARE(tex.glFormat(), glFormat); + QCOMPARE(tex.glInternalFormat(), glInternalFormat); + QCOMPARE(tex.numLevels(), levels); + QCOMPARE(tex.dataOffset(), dataOffset); + QCOMPARE(tex.dataLength(), dataLength); +} + +QTEST_MAIN(tst_qtexturefilereader) + +#include "tst_qtexturefilereader.moc" diff --git a/tests/auto/gui/util/util.pro b/tests/auto/gui/util/util.pro index 940e892e5f..2789ffb55d 100644 --- a/tests/auto/gui/util/util.pro +++ b/tests/auto/gui/util/util.pro @@ -10,4 +10,4 @@ SUBDIRS= \ qshadergraphloader \ qshadernodes \ qshadernodesloader \ - + qtexturefilereader |