diff options
author | Jo Asplin <jo.asplin@nokia.com> | 2011-08-31 17:11:06 +0200 |
---|---|---|
committer | Jo Asplin <jo.asplin@nokia.com> | 2011-09-01 10:59:49 +0200 |
commit | a90f50942e5304e6bf1c8a3e32f1f65c7a38f60b (patch) | |
tree | 6ed9a3d0a0a3dd09a78593d89c000f29d3494b89 /tests/auto/gui/image/qicoimageformat | |
parent | a863eb1c7bbd5d40a741151f811bd7c62cf51e2d (diff) |
Moved gui autotests into new directory structure
Task-number: QTBUG-21133
Change-Id: I83b8f652935cf92151265ca2530a3cf81c31fdef
Reviewed-on: http://codereview.qt.nokia.com/3996
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jo Asplin <jo.asplin@nokia.com>
Diffstat (limited to 'tests/auto/gui/image/qicoimageformat')
16 files changed, 367 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qicoimageformat/.gitignore b/tests/auto/gui/image/qicoimageformat/.gitignore new file mode 100644 index 0000000000..9f673c5635 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/.gitignore @@ -0,0 +1 @@ +tst_qicoimageformat diff --git a/tests/auto/gui/image/qicoimageformat/icons/invalid/35floppy.ico b/tests/auto/gui/image/qicoimageformat/icons/invalid/35floppy.ico Binary files differnew file mode 100644 index 0000000000..96087612fb --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/invalid/35floppy.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/35FLOPPY.ICO b/tests/auto/gui/image/qicoimageformat/icons/valid/35FLOPPY.ICO Binary files differnew file mode 100644 index 0000000000..e9551d6390 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/35FLOPPY.ICO diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/AddPerfMon.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/AddPerfMon.ico Binary files differnew file mode 100644 index 0000000000..3368d3634a --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/AddPerfMon.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/App.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/App.ico Binary files differnew file mode 100644 index 0000000000..03b80a68f8 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/App.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/Obj_N2_Internal_Mem.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/Obj_N2_Internal_Mem.ico Binary files differnew file mode 100644 index 0000000000..8da119efdd --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/Obj_N2_Internal_Mem.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/Qt.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/Qt.ico Binary files differnew file mode 100644 index 0000000000..fef1dee146 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/Qt.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/Status_Play.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/Status_Play.ico Binary files differnew file mode 100644 index 0000000000..d05782cce9 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/Status_Play.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/TIMER01.ICO b/tests/auto/gui/image/qicoimageformat/icons/valid/TIMER01.ICO Binary files differnew file mode 100644 index 0000000000..5563beec8c --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/TIMER01.ICO diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/WORLD.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/WORLD.ico Binary files differnew file mode 100644 index 0000000000..7a8ab39f56 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/WORLD.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/WORLDH.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/WORLDH.ico Binary files differnew file mode 100644 index 0000000000..c2b48f8d99 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/WORLDH.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/abcardWindow.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/abcardWindow.ico Binary files differnew file mode 100644 index 0000000000..e78a15c42b --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/abcardWindow.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/semitransparent.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/semitransparent.ico Binary files differnew file mode 100644 index 0000000000..893ceb254c --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/semitransparent.ico diff --git a/tests/auto/gui/image/qicoimageformat/icons/valid/trolltechlogo_tiny.ico b/tests/auto/gui/image/qicoimageformat/icons/valid/trolltechlogo_tiny.ico Binary files differnew file mode 100644 index 0000000000..3e02a53e58 --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/icons/valid/trolltechlogo_tiny.ico diff --git a/tests/auto/gui/image/qicoimageformat/qicoimageformat.pro b/tests/auto/gui/image/qicoimageformat/qicoimageformat.pro new file mode 100644 index 0000000000..c150c9af9f --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/qicoimageformat.pro @@ -0,0 +1,28 @@ +load(qttest_p4) +SOURCES+= tst_qicoimageformat.cpp + +wince*: { + DEFINES += SRCDIR=\\\".\\\" + addFiles.files = icons + addFiles.path = . + CONFIG(debug, debug|release):{ + addPlugins.files = $$QT_BUILD_TREE/plugins/imageformats/qico4d.dll + } else { + addPlugins.files = $$QT_BUILD_TREE/plugins/imageformats/qico4.dll + } + addPlugins.path = imageformats + DEPLOYMENT += addFiles addPlugins +} else:symbian { + addFiles.files = icons + addFiles.path = . + DEPLOYMENT += addFiles + qt_not_deployed { + addPlugins.files = qico.dll + addPlugins.path = imageformats + DEPLOYMENT += addPlugins + } + TARGET.UID3 = 0xE0340004 + DEFINES += SYMBIAN_SRCDIR_UID=$$lower($$replace(TARGET.UID3,"0x","")) +} else { + DEFINES += SRCDIR=\\\"$$PWD\\\" +} diff --git a/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp new file mode 100644 index 0000000000..3aace12fdb --- /dev/null +++ b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp @@ -0,0 +1,338 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QtTest/QtTest> +#include <QtGui> +#include <QtCore> + +#if defined(Q_OS_SYMBIAN) +# define STRINGIFY(x) #x +# define TOSTRING(x) STRINGIFY(x) +# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/" +#endif + +class tst_QIcoImageFormat : public QObject +{ + Q_OBJECT + +public: + tst_QIcoImageFormat(); + virtual ~tst_QIcoImageFormat(); + + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); +private slots: + void format(); + void canRead_data(); + void canRead(); + void SequentialFile_data(); + void SequentialFile(); + void imageCount_data(); + void imageCount(); + void jumpToNextImage_data(); + void jumpToNextImage(); + void loopCount_data(); + void loopCount(); + void nextImageDelay_data(); + void nextImageDelay(); + void pngCompression_data(); + void pngCompression(); + +private: + QString m_IconPath; +}; + + +tst_QIcoImageFormat::tst_QIcoImageFormat() +{ + m_IconPath = QLatin1String(SRCDIR) + "/icons"; + qDebug() << m_IconPath; +} + +tst_QIcoImageFormat::~tst_QIcoImageFormat() +{ + +} + +void tst_QIcoImageFormat::init() +{ + +} + +void tst_QIcoImageFormat::cleanup() +{ + +} + +void tst_QIcoImageFormat::initTestCase() +{ + +} + +void tst_QIcoImageFormat::cleanupTestCase() +{ + +} + +void tst_QIcoImageFormat::format() +{ + QImageReader reader(m_IconPath + "/valid/35FLOPPY.ICO", "ico"); + QByteArray fmt = reader.format(); + QCOMPARE(const_cast<const char*>(fmt.data()), "ico" ); +} + +void tst_QIcoImageFormat::canRead_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("isValid"); + + QTest::newRow("floppy (16px,32px - 16 colors)") << "valid/35FLOPPY.ICO" << 1; + QTest::newRow("16px,32px,48px - 256,16M colors") << "valid/abcardWindow.ico" << 1; + QTest::newRow("16px - 16 colors") << "valid/App.ico" << 1; + QTest::newRow("16px,32px,48px - 16,256,16M colors") << "valid/Obj_N2_Internal_Mem.ico" << 1; + QTest::newRow("16px - 16,256,16M colors") << "valid/Status_Play.ico" << 1; + QTest::newRow("16px,32px - 16 colors") << "valid/TIMER01.ICO" << 1; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLD.ico" << 1; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 1; + QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0; + QTest::newRow("103x16px, 24BPP") << "valid/trolltechlogo_tiny.ico" << 1; + QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 1; + QTest::newRow("PNG compression") << "valid/Qt.ico" << 1; +} + +void tst_QIcoImageFormat::canRead() +{ + QFETCH(QString, fileName); + QFETCH(int, isValid); + + QImageReader reader(m_IconPath + "/" + fileName); + QCOMPARE(reader.canRead(), (isValid == 0 ? false : true)); +} + +class QSequentialFile : public QFile +{ +public: + QSequentialFile(const QString &name) : QFile(name) {} + + virtual ~QSequentialFile() {} + + virtual bool isSequential() const { + return true; + } + +}; + +void tst_QIcoImageFormat::SequentialFile_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("isValid"); + + QTest::newRow("floppy (16,32 pixels - 16 colors)") << "valid/35FLOPPY.ICO" << 1; + + QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0; + + +} + +void tst_QIcoImageFormat::SequentialFile() +{ + QFETCH(QString, fileName); + QFETCH(int, isValid); + + QSequentialFile *file = new QSequentialFile(m_IconPath + "/" + fileName); + QVERIFY(file); + QVERIFY(file->open(QFile::ReadOnly)); + QImageReader reader(file); + + // Perform the check twice. If canRead() does not restore the sequential device back to its original state, + // it will fail on the second try. + QCOMPARE(reader.canRead(), (isValid == 0 ? false : true)); + QCOMPARE(reader.canRead(), (isValid == 0 ? false : true)); + file->close(); +} + + +void tst_QIcoImageFormat::imageCount_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("count"); + + QTest::newRow("floppy (16px,32px - 16 colors)") << "valid/35FLOPPY.ICO" << 2; + QTest::newRow("16px,32px,48px - 256,16M colors") << "valid/abcardWindow.ico" << 6; + QTest::newRow("16px - 16 colors") << "valid/App.ico" << 1; + QTest::newRow("16px,32px,48px - 16,256,16M colors") << "valid/Obj_N2_Internal_Mem.ico" << 9; + QTest::newRow("16px - 16,256,16M colors") << "valid/Status_Play.ico" << 3; + QTest::newRow("16px,32px - 16 colors") << "valid/TIMER01.ICO" << 2; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLD.ico" << 3; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3; + QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0; + QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9; + QTest::newRow("PNG compression") << "valid/Qt.ico" << 4; + +} + +void tst_QIcoImageFormat::imageCount() +{ + QFETCH(QString, fileName); + QFETCH(int, count); + + QImageReader reader(m_IconPath + "/" + fileName); + QCOMPARE(reader.imageCount(), count); + +} + +void tst_QIcoImageFormat::jumpToNextImage_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("count"); + + QTest::newRow("floppy (16px,32px - 16 colors)") << "valid/35FLOPPY.ICO" << 2; + QTest::newRow("16px,32px,48px - 256,16M colors") << "valid/abcardWindow.ico" << 6; + QTest::newRow("16px - 16 colors") << "valid/App.ico" << 1; + QTest::newRow("16px,32px,48px - 16,256,16M colors") << "valid/Obj_N2_Internal_Mem.ico" << 9; + QTest::newRow("16px - 16,256,16M colors") << "valid/Status_Play.ico" << 3; + QTest::newRow("16px,32px - 16 colors") << "valid/TIMER01.ICO" << 2; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLD.ico" << 3; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3; + QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9; + QTest::newRow("PNG compression") << "valid/Qt.ico" << 4; +} + +void tst_QIcoImageFormat::jumpToNextImage() +{ + QFETCH(QString, fileName); + QFETCH(int, count); + + QImageReader reader(m_IconPath + "/" + fileName); + bool bJumped = reader.jumpToImage(0); + while (bJumped) { + count--; + bJumped = reader.jumpToNextImage(); + } + QCOMPARE(count, 0); +} + +void tst_QIcoImageFormat::loopCount_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("count"); + + QTest::newRow("floppy (16px,32px - 16 colors)") << "valid/35FLOPPY.ICO" << 0; + QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0; +} + +void tst_QIcoImageFormat::loopCount() +{ + QFETCH(QString, fileName); + QFETCH(int, count); + + QImageReader reader(m_IconPath + "/" + fileName); + QCOMPARE(reader.loopCount(), count); +} + +void tst_QIcoImageFormat::nextImageDelay_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("count"); + + QTest::newRow("floppy (16px,32px - 16 colors)") << "valid/35FLOPPY.ICO" << 2; + QTest::newRow("16px,32px,48px - 256,16M colors") << "valid/abcardWindow.ico" << 6; + QTest::newRow("16px - 16 colors") << "valid/App.ico" << 1; + QTest::newRow("16px,32px,48px - 16,256,16M colors") << "valid/Obj_N2_Internal_Mem.ico" << 9; + QTest::newRow("16px - 16,256,16M colors") << "valid/Status_Play.ico" << 3; + QTest::newRow("16px,32px - 16 colors") << "valid/TIMER01.ICO" << 2; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLD.ico" << 3; + QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3; + QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << -1; + QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9; + QTest::newRow("PNG compression") << "valid/Qt.ico" << 4; +} + +void tst_QIcoImageFormat::nextImageDelay() +{ + QFETCH(QString, fileName); + QFETCH(int, count); + + QImageReader reader(m_IconPath + "/" + fileName); + if (count == -1) { + QCOMPARE(reader.nextImageDelay(), 0); + } else { + int i; + for (i = 0; i < count; i++) { + QVERIFY(reader.jumpToImage(i)); + QCOMPARE(reader.nextImageDelay(), 0); + } + } +} + +void tst_QIcoImageFormat::pngCompression_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<int>("index"); + QTest::addColumn<int>("width"); + QTest::addColumn<int>("height"); + + QTest::newRow("PNG compression") << "valid/Qt.ico" << 4 << 256 << 256; +} + +void tst_QIcoImageFormat::pngCompression() +{ + QFETCH(QString, fileName); + QFETCH(int, index); + QFETCH(int, width); + QFETCH(int, height); + + QImageReader reader(m_IconPath + "/" + fileName); + + QImage image; + reader.jumpToImage(index); + reader.read(&image); + + QCOMPARE(image.width(), width); + QCOMPARE(image.height(), height); +} + +QTEST_MAIN(tst_QIcoImageFormat) +#include "tst_qicoimageformat.moc" + |