controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistmodel/unittest_cpthemelistmodel.cpp
author hgs
Tue, 24 Aug 2010 10:56:32 +0800
changeset 33 0cfa53de576f
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors: XENT-MV
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  unit tests for the CpThemeListModel class from themeplugin
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include "cpthemelistmodel.h"
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
class TestCpThemeListModel : public QObject
hgs
parents:
diff changeset
    23
{
hgs
parents:
diff changeset
    24
    Q_OBJECT
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
private slots:
hgs
parents:
diff changeset
    27
    
hgs
parents:
diff changeset
    28
    void testConstructor();
hgs
parents:
diff changeset
    29
    void testRowCount();
hgs
parents:
diff changeset
    30
    void testData();
hgs
parents:
diff changeset
    31
    void testIndexOf();
hgs
parents:
diff changeset
    32
};    
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
void TestCpThemeListModel::testConstructor()
hgs
parents:
diff changeset
    36
{
hgs
parents:
diff changeset
    37
    
hgs
parents:
diff changeset
    38
    CpThemeListModel *obj = new CpThemeListModel();
hgs
parents:
diff changeset
    39
    
hgs
parents:
diff changeset
    40
    
hgs
parents:
diff changeset
    41
    QVERIFY (obj != 0 );
hgs
parents:
diff changeset
    42
    QVERIFY (obj->rowCount() > 0);
hgs
parents:
diff changeset
    43
    
hgs
parents:
diff changeset
    44
    delete obj;
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
}
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
void TestCpThemeListModel::testRowCount()
hgs
parents:
diff changeset
    49
{
hgs
parents:
diff changeset
    50
    CpThemeListModel *themeModel = new CpThemeListModel();
hgs
parents:
diff changeset
    51
    QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
hgs
parents:
diff changeset
    52
    QVERIFY(themeModel->rowCount() >= allThemes.size());
hgs
parents:
diff changeset
    53
}
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
void TestCpThemeListModel::testData()
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
    CpThemeListModel *themeModel = new CpThemeListModel();
hgs
parents:
diff changeset
    58
    QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
hgs
parents:
diff changeset
    59
    
hgs
parents:
diff changeset
    60
    QModelIndex index = themeModel->index(0,0, QModelIndex());
hgs
parents:
diff changeset
    61
    
hgs
parents:
diff changeset
    62
    //Check theme name (first) and theme path (second).  Skipping icons for now.
hgs
parents:
diff changeset
    63
    QCOMPARE(themeModel->data(index, Qt::DisplayRole).toString(), allThemes.at(0).first);
hgs
parents:
diff changeset
    64
    QCOMPARE(themeModel->data(index, CpThemeListModel::ItemDataRole).toString(), allThemes.at(0).second);
hgs
parents:
diff changeset
    65
        
hgs
parents:
diff changeset
    66
        
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
void TestCpThemeListModel::testIndexOf()
hgs
parents:
diff changeset
    70
{
hgs
parents:
diff changeset
    71
    CpThemeListModel *themeModel = new CpThemeListModel();
hgs
parents:
diff changeset
    72
    QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
hgs
parents:
diff changeset
    73
    
hgs
parents:
diff changeset
    74
    CpThemeInfo *themeInfo = CpThemeUtil::buildThemeInfo(allThemes.at(1).second, allThemes.at(1).first);
hgs
parents:
diff changeset
    75
       
hgs
parents:
diff changeset
    76
    int index = themeModel->indexOf(*themeInfo);
hgs
parents:
diff changeset
    77
       
hgs
parents:
diff changeset
    78
     QVERIFY(index == 1);
hgs
parents:
diff changeset
    79
    
hgs
parents:
diff changeset
    80
}
hgs
parents:
diff changeset
    81
QTEST_MAIN(TestCpThemeListModel)
hgs
parents:
diff changeset
    82
#include "unittest_cpthemelistmodel.moc"
hgs
parents:
diff changeset
    83