/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
/*
* T_camificonengine.cpp
*
* Created on: 2010-08-10
* Author:
*/
// CLASS HEADERS
#include <QPainter>
#include <QIconEnginePlugin>
#include "T_camificonengine.h"
#include "camificonengine.h"
#include "cambmiconengine.h"
class CaMifIconPlugin : public QIconEnginePluginV2
{
public:
QStringList keys() const;
QIconEngineV2 *create(const QString &filename = QString());
};
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::initEngine()
{
CaMifIconPlugin plugin;
QStringList keys;
keys << "mif" << "mbm";
QVERIFY(plugin.keys() == keys);
QIconEngineV2 *engine =
plugin.create("c:/testing/data/t_camificonengine/example.mbm");
QVERIFY(engine);
delete engine;
engine = NULL;
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mifIconKey()
{
CaMifIconEngine engine;
QCOMPARE(engine.key(), QString("mif"));
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mbmIconKey()
{
CaMbmIconEngine engine;
QCOMPARE(engine.key(), QString("mbm"));
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mifIconAddFile()
{
CaMifIconEngine engine;
QSize testSize(1, 1);
engine.addFile("c:/testing/data/t_camificonengine/example.mif",
testSize, QIcon::Normal, QIcon::On);
engine.addFile("not important", testSize, QIcon::Normal, QIcon::On);
QSize size = engine.actualSize(testSize, QIcon::Normal, QIcon::On);
QVERIFY(size == testSize);
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mbmIconAddFile()
{
CaMbmIconEngine engine;
QSize testSize(1, 1);
engine.addFile("c:/testing/data/t_camificonengine/example.mbm",
testSize, QIcon::Normal, QIcon::On);
engine.addFile("not important", testSize, QIcon::Normal, QIcon::On);
QSize size = engine.actualSize(testSize, QIcon::Normal, QIcon::On);
QVERIFY(size == testSize);
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mifIconPixmap()
{
CaMifIconEngine engine;
QSize testSize(1, 1);
engine.addFile("c:/testing/data/t_camificonengine/example.mif",
testSize, QIcon::Normal, QIcon::On);
QPixmap pixmap = engine.pixmap(testSize, QIcon::Normal, QIcon::On);
QSize size = pixmap.size();
QVERIFY(size.width()>0);
QVERIFY(size.height()>0);
engine.addPixmap(pixmap, QIcon::Normal, QIcon::On);
QPainter painter;
engine.paint(&painter, QRect(QPoint(0, 0), size),
QIcon::Normal, QIcon::On);
QIconEngineV2 *clonedEngine = engine.clone();
QVERIFY(size ==
clonedEngine->pixmap(testSize, QIcon::Normal, QIcon::On).size());
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaMifIconEngine::mbmIconPixmap()
{
CaMbmIconEngine engine;
QSize testSize(1, 1);
engine.addFile("c:/testing/data/t_camificonengine/example.mbm",
testSize, QIcon::Normal, QIcon::On);
QPixmap pixmap = engine.pixmap(testSize, QIcon::Normal, QIcon::On);
QSize size = pixmap.size();
QVERIFY(size.width()>0);
QVERIFY(size.height()>0);
engine.addPixmap(pixmap, QIcon::Normal, QIcon::On);
QPainter painter;
engine.paint(&painter, QRect(QPoint(0, 0), size),
QIcon::Normal, QIcon::On);
QIconEngineV2 *clonedEngine = engine.clone();
QVERIFY(size ==
clonedEngine->pixmap(testSize, QIcon::Normal, QIcon::On).size());
}
QTEST_MAIN(T_CaMifIconEngine)