1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
/* * This file is part of meego-keyboard *
*
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
*
* This library is free software; you can redistribute it and/or
* modify it 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.
*/
#include "ut_mattributeextensionmanager.h"
#include "core-utils.h"
#include <mattributeextensionmanager.h>
#include <mattributeextensionid.h>
#include <QCoreApplication>
#include <QSignalSpy>
#include <QDebug>
#include <QDir>
namespace {
const QString testDirectory = "/ut_mattributeextensionmanager";
QString Toolbar1 = "/toolbar1.xml";
QString Toolbar2 = "/toolbar2.xml";
QString Toolbar3 = "/toolbar3.xml"; // this file does not exist
}
void Ut_MAttributeExtensionManager::initTestCase()
{
Toolbar1 = MaliitTestUtils::getTestDataPath() + testDirectory + Toolbar1;
QVERIFY2(QFile(Toolbar1).exists(), "toolbar1.xml does not exist");
Toolbar2 = MaliitTestUtils::getTestDataPath() + testDirectory + Toolbar2;
QVERIFY2(QFile(Toolbar2).exists(), "toolbar2.xml does not exist");
Toolbar3 = MaliitTestUtils::getTestDataPath() + testDirectory + Toolbar3;
QVERIFY2(!QFile(Toolbar3).exists(), "toolbar3.xml should not exist");
}
void Ut_MAttributeExtensionManager::cleanupTestCase()
{
}
void Ut_MAttributeExtensionManager::init()
{
subject = new MAttributeExtensionManager;
}
void Ut_MAttributeExtensionManager::cleanup()
{
delete subject;
subject = 0;
}
void Ut_MAttributeExtensionManager::testSetExtendedAttribute()
{
MAttributeExtensionId id1(1, "Ut_MAttributeExtensionManager");
MAttributeExtensionId id2(2, "Ut_MAttributeExtensionManager");
QList<MAttributeExtensionId> idList;
idList << id1 << id2;
int attributteExtentionCount = 0;
// register all extended attributes
for (int i = 0; i < idList.count(); i++) {
subject->registerAttributeExtension(idList.at(i), "");
attributteExtentionCount ++;
QTest::qWait(50);
QCOMPARE(subject->attributeExtensionIdList().count(), attributteExtentionCount);
}
QSignalSpy spy(subject, SIGNAL(keyOverrideCreated()));
QVERIFY(spy.isValid());
for (int i = 0; i < idList.count(); i++) {
QCOMPARE(subject->keyOverrides(idList.at(i)).count(), 0);
// set extended attribute not registered before.
subject->setExtendedAttribute(idList.at(i),
"/keys",
"testKey",
"label",
QVariant("testLabel"));
// new key overrides will be created
QCOMPARE(spy.count(), 1);
spy.clear();
QCOMPARE(subject->keyOverrides(idList.at(i)).count(), 1);
QVERIFY(subject->keyOverrides(idList.at(i)).value("testKey"));
QCOMPARE(subject->keyOverrides(idList.at(i)).value("testKey")->label(), QString("testLabel"));
}
spy.clear();
// item attribute is modified in one, the same item attribute must not change in the other one.
subject->setExtendedAttribute(idList.at(0),
"/keys",
"testKey",
"icon",
QVariant("testIcon"));
QCOMPARE(subject->keyOverrides(idList.at(0)).count(), 1);
QVERIFY(subject->keyOverrides(idList.at(0)).value("testKey"));
QCOMPARE(subject->keyOverrides(idList.at(0)).value("testKey")->icon(), QString("testIcon"));
QVERIFY(subject->keyOverrides(idList.at(1)).value("testKey")->icon().isEmpty());
}
QTEST_MAIN(Ut_MAttributeExtensionManager);
|