contentstorage/camificonengine/tsrc/t_camificonengine/src/T_camificonengine.cpp
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* 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)