contentstorage/camificonengine/tsrc/t_camificonengine/src/T_camificonengine.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/camificonengine/tsrc/t_camificonengine/src/T_camificonengine.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,150 @@
+/*
+* 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)