controlpanelplugins/langandregplugin/t_languageplugin/src/t_languageplugin.cpp
author hgs
Wed, 29 Sep 2010 10:09:58 +0800
changeset 40 593f946f4fec
permissions -rw-r--r--
201037_2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40
593f946f4fec 201037_2
hgs
parents:
diff changeset
     1
/*
593f946f4fec 201037_2
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
593f946f4fec 201037_2
hgs
parents:
diff changeset
     3
* All rights reserved.
593f946f4fec 201037_2
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
593f946f4fec 201037_2
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
593f946f4fec 201037_2
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
593f946f4fec 201037_2
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
593f946f4fec 201037_2
hgs
parents:
diff changeset
     8
*
593f946f4fec 201037_2
hgs
parents:
diff changeset
     9
* Initial Contributors:
593f946f4fec 201037_2
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    11
*
593f946f4fec 201037_2
hgs
parents:
diff changeset
    12
* Contributors:
593f946f4fec 201037_2
hgs
parents:
diff changeset
    13
*
593f946f4fec 201037_2
hgs
parents:
diff changeset
    14
* Description:  Main test class for Control Panel's Language plugin.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    15
*
593f946f4fec 201037_2
hgs
parents:
diff changeset
    16
*/
593f946f4fec 201037_2
hgs
parents:
diff changeset
    17
593f946f4fec 201037_2
hgs
parents:
diff changeset
    18
#include "t_languageplugin.h"
593f946f4fec 201037_2
hgs
parents:
diff changeset
    19
#include <QtTest/QtTest>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    20
#include <QModelIndex>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    21
#include <hbmainwindow.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    22
#include <hbinputsettingproxy.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    23
#include <hblocaleutil.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    24
#include <hbinpututils.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    25
#include <cpsettingformentryitemdataimpl.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    26
#include <cpitemdatahelper.h>
593f946f4fec 201037_2
hgs
parents:
diff changeset
    27
#include "cplanguageplugin.h"
593f946f4fec 201037_2
hgs
parents:
diff changeset
    28
#include "extendedlocaleutil.h"
593f946f4fec 201037_2
hgs
parents:
diff changeset
    29
#include "cplanguageview.h"
593f946f4fec 201037_2
hgs
parents:
diff changeset
    30
#include "cplanguagepluginutil.h"
593f946f4fec 201037_2
hgs
parents:
diff changeset
    31
593f946f4fec 201037_2
hgs
parents:
diff changeset
    32
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
    33
    Initialize test case.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    34
    Called before each testfunction is executed.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    35
*/
593f946f4fec 201037_2
hgs
parents:
diff changeset
    36
void TestLanguagePlugin::init() 
593f946f4fec 201037_2
hgs
parents:
diff changeset
    37
{   
593f946f4fec 201037_2
hgs
parents:
diff changeset
    38
    mMainWindow = new HbMainWindow();
593f946f4fec 201037_2
hgs
parents:
diff changeset
    39
    QVERIFY(mMainWindow);
593f946f4fec 201037_2
hgs
parents:
diff changeset
    40
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    41
    mPlugin = new CpLanguagePlugin;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    42
    QVERIFY(mPlugin);
593f946f4fec 201037_2
hgs
parents:
diff changeset
    43
    // Note: we get different values for condition coverage of CpLanguageView()
593f946f4fec 201037_2
hgs
parents:
diff changeset
    44
    // depending on which values have been selected in Control Panel settings. 
593f946f4fec 201037_2
hgs
parents:
diff changeset
    45
	mView = new CpLanguageView();
593f946f4fec 201037_2
hgs
parents:
diff changeset
    46
	QVERIFY(mView);
593f946f4fec 201037_2
hgs
parents:
diff changeset
    47
	
593f946f4fec 201037_2
hgs
parents:
diff changeset
    48
	CpItemDataHelper itemDataHelper;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    49
	QList<CpSettingFormItemData*> itemData = mPlugin->createSettingFormItemData(itemDataHelper); 
593f946f4fec 201037_2
hgs
parents:
diff changeset
    50
	mEntryItemData = qobject_cast<CpSettingFormEntryItemData*>(itemData.front());
593f946f4fec 201037_2
hgs
parents:
diff changeset
    51
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
    52
593f946f4fec 201037_2
hgs
parents:
diff changeset
    53
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
    54
    Cleanup test case.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    55
    Called after every testfunction.
593f946f4fec 201037_2
hgs
parents:
diff changeset
    56
*/
593f946f4fec 201037_2
hgs
parents:
diff changeset
    57
void TestLanguagePlugin::cleanup()
593f946f4fec 201037_2
hgs
parents:
diff changeset
    58
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
    59
	delete mView;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    60
	mView = 0;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    61
	
593f946f4fec 201037_2
hgs
parents:
diff changeset
    62
	delete mPlugin;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    63
    mPlugin = 0;  	
593f946f4fec 201037_2
hgs
parents:
diff changeset
    64
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    65
    delete mEntryItemData;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    66
    mEntryItemData = 0;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    67
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    68
    delete mMainWindow;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    69
    mMainWindow = 0;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    70
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
    71
593f946f4fec 201037_2
hgs
parents:
diff changeset
    72
/* ---------------------------------------------------------------------------
593f946f4fec 201037_2
hgs
parents:
diff changeset
    73
 * Unit test cases 
593f946f4fec 201037_2
hgs
parents:
diff changeset
    74
 * ---------------------------------------------------------------------------*/
593f946f4fec 201037_2
hgs
parents:
diff changeset
    75
593f946f4fec 201037_2
hgs
parents:
diff changeset
    76
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
    77
 *  test CpLanguagePlugin::createSettingFormItemData
593f946f4fec 201037_2
hgs
parents:
diff changeset
    78
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
    79
void TestLanguagePlugin::test_CpLanguagePlugin_createSettingFormItemData()
593f946f4fec 201037_2
hgs
parents:
diff changeset
    80
{    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    81
	CpItemDataHelper itemDataHelper;
593f946f4fec 201037_2
hgs
parents:
diff changeset
    82
    QList<CpSettingFormItemData*> itemData = mPlugin->createSettingFormItemData(itemDataHelper); 
593f946f4fec 201037_2
hgs
parents:
diff changeset
    83
    QVERIFY(itemData.count() == 1);     
593f946f4fec 201037_2
hgs
parents:
diff changeset
    84
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    85
    CpSettingFormEntryItemData *entryItemData = qobject_cast<CpSettingFormEntryItemData*>(itemData.front());
593f946f4fec 201037_2
hgs
parents:
diff changeset
    86
    QVERIFY(entryItemData != 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
    87
    QVERIFY(entryItemData->type() == static_cast<HbDataFormModelItem::DataItemType>(CpSettingFormEntryItemData::ListEntryItem) );
593f946f4fec 201037_2
hgs
parents:
diff changeset
    88
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
    89
593f946f4fec 201037_2
hgs
parents:
diff changeset
    90
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
    91
 * test CpLanguagePlugin::updateEntryItem
593f946f4fec 201037_2
hgs
parents:
diff changeset
    92
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
    93
void TestLanguagePlugin::test_CpLanguagePlugin_updateEntryItem()
593f946f4fec 201037_2
hgs
parents:
diff changeset
    94
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
    95
    CpLanguagePlugin::updateEntryItem();
593f946f4fec 201037_2
hgs
parents:
diff changeset
    96
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    97
    QString localisedLanguage = HbLocaleUtil::localisedLanguageName(HbLocaleUtil::currentLanguage());
593f946f4fec 201037_2
hgs
parents:
diff changeset
    98
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
    99
    QVERIFY(mEntryItemData->description() == localisedLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   100
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   101
593f946f4fec 201037_2
hgs
parents:
diff changeset
   102
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   103
 * test ExtendedLocaleUtil::localeMappings
593f946f4fec 201037_2
hgs
parents:
diff changeset
   104
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   105
void TestLanguagePlugin::test_ExtendedLocaleUtil_localeMappings()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   106
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   107
    QList<LanguageRegionMapping> allMaps = ExtendedLocaleUtil::localeMappings(false);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   108
    QVERIFY(allMaps.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   109
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   110
    QList<LanguageRegionMapping> supportedMaps = ExtendedLocaleUtil::localeMappings(true);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   111
    QVERIFY(supportedMaps.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   112
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   113
    QVERIFY(allMaps.count() >= supportedMaps.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   114
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   115
593f946f4fec 201037_2
hgs
parents:
diff changeset
   116
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   117
 * test CpLanguagePluginUtil::localizedLanguageNames
593f946f4fec 201037_2
hgs
parents:
diff changeset
   118
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   119
void TestLanguagePlugin::test_CpLanguagePluginUtil_localizedLanguageNames()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   120
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   121
    QStringList supportLanguages = HbLocaleUtil::supportedLanguages();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   122
    QStringList localisedLanguages = CpLanguagePluginUtil::localizedLanguageNames(supportLanguages);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   123
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   124
    QVERIFY (supportLanguages.count() == localisedLanguages.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   125
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   126
593f946f4fec 201037_2
hgs
parents:
diff changeset
   127
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   128
 * test CpLanguagePluginUtil::localizedRegionNames
593f946f4fec 201037_2
hgs
parents:
diff changeset
   129
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   130
void TestLanguagePlugin::test_CpLanguagePluginUtil_localizedRegionNames()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   131
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   132
    QStringList supportedRegions = HbLocaleUtil::supportedRegions();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   133
    QStringList localisedRegions = CpLanguagePluginUtil::localizedRegionNames(supportedRegions);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   134
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   135
    QVERIFY (supportedRegions.count() == localisedRegions.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   136
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   137
593f946f4fec 201037_2
hgs
parents:
diff changeset
   138
/*
593f946f4fec 201037_2
hgs
parents:
diff changeset
   139
 * test CpLanguagePluginUtil::localizedInputLanguageNames
593f946f4fec 201037_2
hgs
parents:
diff changeset
   140
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   141
void TestLanguagePlugin::test_CpLanguagePluginUtil_localizedInputLanguageNames()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   142
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   143
    QList<HbInputLanguage> supportedInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   144
    HbInputUtils::listSupportedInputLanguages(supportedInputLanguages);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   145
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   146
    QStringList localisedInputLanguages = CpLanguagePluginUtil::localizedInputLanguageNames(supportedInputLanguages);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   147
    QVERIFY(supportedInputLanguages.count() == localisedInputLanguages.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   148
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   149
593f946f4fec 201037_2
hgs
parents:
diff changeset
   150
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   151
 * test CpLanguagePluginUtil::isChineseVariant
593f946f4fec 201037_2
hgs
parents:
diff changeset
   152
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   153
void TestLanguagePlugin::test_CpLanguagePluginUtil_isChineseVariant()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   154
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   155
    bool isChineseVariant = CpLanguagePluginUtil::isChineseVariant();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   156
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   157
    QStringList supportedLanguages = HbLocaleUtil::supportedLanguages();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   158
    foreach(const QString &language, supportedLanguages) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   159
        if (QLocale(language).language() == QLocale::Chinese) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   160
            QVERIFY (isChineseVariant);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   161
            return;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   162
        }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   163
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   164
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   165
    QVERIFY (!isChineseVariant);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   166
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   167
593f946f4fec 201037_2
hgs
parents:
diff changeset
   168
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   169
 * test new CpLanguageView
593f946f4fec 201037_2
hgs
parents:
diff changeset
   170
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   171
void TestLanguagePlugin::test_CpLanguageView_new()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   172
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   173
    CpLanguageView* view = new CpLanguageView();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   174
    QVERIFY(view != 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   175
    delete view;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   176
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   177
593f946f4fec 201037_2
hgs
parents:
diff changeset
   178
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   179
 * test CpLanguageView::onRegionChanged(int index)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   180
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   181
void TestLanguagePlugin::test_CpLanguageView_onRegionChanged()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   182
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   183
    QString oldRegion = HbLocaleUtil::currentRegion();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   184
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   185
    QStringList allRegions = mView->mSupportedRegions;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   186
    QVERIFY(allRegions.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   187
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   188
    for(int i = 0; i < allRegions.count();i++) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   189
        if (!allRegions.at(i).trimmed().isEmpty()) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   190
            mView->onRegionChanged(i);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   191
            QVERIFY(HbLocaleUtil::currentRegion() == allRegions.at(i));
593f946f4fec 201037_2
hgs
parents:
diff changeset
   192
        }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   193
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   194
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   195
    HbLocaleUtil::changeRegion(oldRegion);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   196
    QVERIFY(HbLocaleUtil::currentRegion() == oldRegion);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   197
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   198
    mView->onRegionChanged(-1);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   199
    QVERIFY(HbLocaleUtil::currentRegion() == oldRegion);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   200
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   201
    mView->onRegionChanged(allRegions.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   202
    QVERIFY(HbLocaleUtil::currentRegion() == oldRegion);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   203
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   204
593f946f4fec 201037_2
hgs
parents:
diff changeset
   205
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   206
 * test CpLanguageView::onPrimaryInputLanguageChanged(int index)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   207
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   208
void TestLanguagePlugin::test_CpLanguageView_onPrimaryInputLanguageChanged()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   209
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   210
    HbInputLanguage oldPrimaryInputLanguage = HbInputSettingProxy::instance()->globalInputLanguage();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   211
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   212
    QList<HbInputLanguage> supportedInputLanguages = mView->mPrimaryInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   213
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   214
    QVERIFY(supportedInputLanguages.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   215
    for (int i = 0; i < supportedInputLanguages.count();i++) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   216
        mView->onPrimaryInputLanguageChanged(i);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   217
        QVERIFY(HbInputSettingProxy::instance()->globalInputLanguage() == supportedInputLanguages.at(i));
593f946f4fec 201037_2
hgs
parents:
diff changeset
   218
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   219
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   220
    HbInputSettingProxy::instance()->setGlobalInputLanguage(oldPrimaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   221
    QVERIFY(HbInputSettingProxy::instance()->globalInputLanguage() == oldPrimaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   222
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   223
    mView->onPrimaryInputLanguageChanged(-1);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   224
    QVERIFY(HbInputSettingProxy::instance()->globalInputLanguage() == oldPrimaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   225
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   226
    mView->onPrimaryInputLanguageChanged(supportedInputLanguages.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   227
    QVERIFY(HbInputSettingProxy::instance()->globalInputLanguage() == oldPrimaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   228
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   229
593f946f4fec 201037_2
hgs
parents:
diff changeset
   230
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   231
 * test CpLanguageView::onSecondaryInputLanguageChanged(int index)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   232
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   233
void TestLanguagePlugin::test_CpLanguageView_onSecondaryInputLanguageChanged()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   234
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   235
    HbInputLanguage primaryInputLanguage = HbInputSettingProxy::instance()->globalInputLanguage();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   236
    HbInputLanguage oldSecondaryInputLanguage = HbInputSettingProxy::instance()->globalSecondaryInputLanguage();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   237
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   238
    QList<HbInputLanguage> supportedInputLanguages = mView->mSecondaryInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   239
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   240
    QVERIFY(supportedInputLanguages.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   241
    for (int i = 0; i < supportedInputLanguages.count();i++) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   242
        if ( supportedInputLanguages.at(i) != primaryInputLanguage) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   243
            mView->onSecondaryInputLanguageChanged(i);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   244
            QVERIFY(HbInputSettingProxy::instance()->globalSecondaryInputLanguage() == supportedInputLanguages.at(i));
593f946f4fec 201037_2
hgs
parents:
diff changeset
   245
        }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   246
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   247
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   248
    HbInputSettingProxy::instance()->setGlobalSecondaryInputLanguage(oldSecondaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   249
    QVERIFY(HbInputSettingProxy::instance()->globalSecondaryInputLanguage() == oldSecondaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   250
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   251
    mView->onSecondaryInputLanguageChanged(-1);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   252
    QVERIFY(HbInputSettingProxy::instance()->globalSecondaryInputLanguage() == oldSecondaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   253
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   254
    mView->onSecondaryInputLanguageChanged(supportedInputLanguages.count());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   255
    QVERIFY(HbInputSettingProxy::instance()->globalSecondaryInputLanguage() == oldSecondaryInputLanguage);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   256
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   257
593f946f4fec 201037_2
hgs
parents:
diff changeset
   258
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   259
 * test CpLanguageView::onPrimaryInputLanguageChanged(const HbInputLanguage &inputLanguage)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   260
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   261
void TestLanguagePlugin::test_CpLanguageView_onPrimaryInputLanguageChanged2()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   262
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   263
    int oldIndex = mView->mCurrentPrimaryInputLanguageItem->contentWidgetData("currentIndex").toInt();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   264
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   265
    QList<HbInputLanguage> supportedInputLanguages = mView->mPrimaryInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   266
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   267
    QVERIFY(supportedInputLanguages.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   268
    for (int i = 0; i < supportedInputLanguages.count();i++) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   269
        mView->onPrimaryInputLanguageChanged(supportedInputLanguages.at(i));
593f946f4fec 201037_2
hgs
parents:
diff changeset
   270
        QVERIFY( mView->mCurrentPrimaryInputLanguageItem->contentWidgetData("currentIndex").toInt() == i );
593f946f4fec 201037_2
hgs
parents:
diff changeset
   271
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   272
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   273
    mView->mCurrentPrimaryInputLanguageItem->setContentWidgetData("currentIndex",oldIndex);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   274
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   275
    QVERIFY(oldIndex == mView->mCurrentPrimaryInputLanguageItem->contentWidgetData("currentIndex").toInt());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   276
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   277
593f946f4fec 201037_2
hgs
parents:
diff changeset
   278
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   279
 * test CpLanguageView::onSecondaryInputLanguageChanged(const HbInputLanguage &inputLanguage)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   280
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   281
void TestLanguagePlugin::test_CpLanguageView_onSecondaryInputLanguageChanged2()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   282
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   283
    int oldIndex = mView->mCurrentSecondaryInputLanguageItem->contentWidgetData("currentIndex").toInt();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   284
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   285
    QList<HbInputLanguage> supportedInputLanguages = mView->mSecondaryInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   286
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   287
    QVERIFY(supportedInputLanguages.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   288
    for (int i = 0; i < supportedInputLanguages.count();i++) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   289
        mView->onSecondaryInputLanguageChanged(supportedInputLanguages.at(i));
593f946f4fec 201037_2
hgs
parents:
diff changeset
   290
        QVERIFY( mView->mCurrentSecondaryInputLanguageItem->contentWidgetData("currentIndex").toInt() == i );
593f946f4fec 201037_2
hgs
parents:
diff changeset
   291
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   292
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   293
    mView->mCurrentSecondaryInputLanguageItem->setContentWidgetData("currentIndex",oldIndex);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   294
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   295
    QVERIFY(oldIndex == mView->mCurrentSecondaryInputLanguageItem->contentWidgetData("currentIndex").toInt());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   296
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   297
593f946f4fec 201037_2
hgs
parents:
diff changeset
   298
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   299
 * test CpLanguageView::launchRegionalSettingsView()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   300
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   301
void TestLanguagePlugin::test_CpLanguageView_launchRegionalSettingsView()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   302
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   303
    mView->launchRegionalSettingsView();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   304
    QVERIFY(mView->mClockPluginLoader != 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   305
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   306
593f946f4fec 201037_2
hgs
parents:
diff changeset
   307
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   308
 * test CpLanguageView::onDataFormItemActivated(const QModelIndex &modelIndex)
593f946f4fec 201037_2
hgs
parents:
diff changeset
   309
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   310
void TestLanguagePlugin::test_CpLanguageView_onDataFormItemActivated()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   311
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   312
    QVERIFY(true);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   313
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   314
593f946f4fec 201037_2
hgs
parents:
diff changeset
   315
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   316
 * test CpLanguageView::close()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   317
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   318
void TestLanguagePlugin::test_CpLanguageView_close()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   319
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   320
    QVERIFY(true);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   321
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   322
593f946f4fec 201037_2
hgs
parents:
diff changeset
   323
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   324
 * test CpLanguageView::fillDataFormComboBoxItem
593f946f4fec 201037_2
hgs
parents:
diff changeset
   325
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   326
void TestLanguagePlugin::test_CpLanguageView_fillDataFormComboBoxItem()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   327
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   328
    QStringList supportedRegions = HbLocaleUtil::supportedRegions();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   329
    QStringList localizedRegions = CpLanguagePluginUtil::localizedRegionNames(supportedRegions);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   330
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   331
    int regionIndex = supportedRegions.indexOf(HbLocaleUtil::currentRegion());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   332
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   333
    mView->fillDataFormComboBoxItem(mView->mCurrentRegionItem,localizedRegions,regionIndex);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   334
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   335
    QVERIFY(mView->mCurrentRegionItem->contentWidgetData("currentIndex").toInt() == regionIndex);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   336
    QVERIFY(mView->mCurrentRegionItem->contentWidgetData("items").toStringList() == localizedRegions);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   337
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   338
593f946f4fec 201037_2
hgs
parents:
diff changeset
   339
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   340
 * test CpLanguageView::updateSecondaryInputLanguageItem
593f946f4fec 201037_2
hgs
parents:
diff changeset
   341
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   342
void TestLanguagePlugin::test_CpLanguageView_updateSecondaryInputLanguageItem()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   343
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   344
    QList<HbInputLanguage> supportedInputLanguages;
593f946f4fec 201037_2
hgs
parents:
diff changeset
   345
    HbInputUtils::listSupportedInputLanguages(supportedInputLanguages);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   346
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   347
    HbInputLanguage primaryInputLanguage = HbInputSettingProxy::instance()->globalInputLanguage();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   348
    HbInputLanguage secondaryInputLanguage = HbInputSettingProxy::instance()->globalSecondaryInputLanguage();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   349
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   350
    QVERIFY(supportedInputLanguages.count() > 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   351
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   352
    HbInputSettingProxy::instance()->setGlobalInputLanguage(supportedInputLanguages.front());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   353
    HbInputSettingProxy::instance()->setGlobalSecondaryInputLanguage(supportedInputLanguages.front());
593f946f4fec 201037_2
hgs
parents:
diff changeset
   354
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   355
    mView->updateSecondaryInputLanguageItem();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   356
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   357
    QVERIFY(mView->mCurrentSecondaryInputLanguageItem->contentWidgetData("currentIndex").toInt() == 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   358
    
593f946f4fec 201037_2
hgs
parents:
diff changeset
   359
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   360
593f946f4fec 201037_2
hgs
parents:
diff changeset
   361
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   362
 * test CpLanguageView::promptRestart
593f946f4fec 201037_2
hgs
parents:
diff changeset
   363
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   364
void TestLanguagePlugin::test_CpLanguageView_promptRestart()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   365
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   366
    QVERIFY(true);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   367
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   368
593f946f4fec 201037_2
hgs
parents:
diff changeset
   369
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   370
 * test CpLanguageView::restartDevice
593f946f4fec 201037_2
hgs
parents:
diff changeset
   371
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   372
void TestLanguagePlugin::test_CpLanguageView_restartDevice()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   373
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   374
    QVERIFY(true);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   375
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   376
593f946f4fec 201037_2
hgs
parents:
diff changeset
   377
/*!
593f946f4fec 201037_2
hgs
parents:
diff changeset
   378
 * test CpLanguageView::languageRegionMapping
593f946f4fec 201037_2
hgs
parents:
diff changeset
   379
 */
593f946f4fec 201037_2
hgs
parents:
diff changeset
   380
void TestLanguagePlugin::test_CpLanguageView_languageRegionMapping()
593f946f4fec 201037_2
hgs
parents:
diff changeset
   381
{
593f946f4fec 201037_2
hgs
parents:
diff changeset
   382
    QStringList supportedLanguages = HbLocaleUtil::supportedLanguages();
593f946f4fec 201037_2
hgs
parents:
diff changeset
   383
    foreach(const QString &language,supportedLanguages) {
593f946f4fec 201037_2
hgs
parents:
diff changeset
   384
        LanguageRegionMapping *entry = mView->languageRegionMapping(language);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   385
        QVERIFY(entry != 0);
593f946f4fec 201037_2
hgs
parents:
diff changeset
   386
    }
593f946f4fec 201037_2
hgs
parents:
diff changeset
   387
}
593f946f4fec 201037_2
hgs
parents:
diff changeset
   388
593f946f4fec 201037_2
hgs
parents:
diff changeset
   389
QTEST_MAIN(TestLanguagePlugin)