camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxesettingscenrepstore/unittest_cxesettingscenrepstore.cpp
branchRCL_3
changeset 24 bac7acad7cb3
parent 23 61bc0f252b2b
child 25 2c87b2808fd7
equal deleted inserted replaced
23:61bc0f252b2b 24:bac7acad7cb3
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #include <QTest>
       
    19 
       
    20 #include "cxeerror.h"
       
    21 #include "cxutils.h"
       
    22 #include "cxesettingscenrepstore.h"
       
    23 #include "unittest_cxesettingscenrepstore.h"
       
    24 #include "cxenamespace.h"
       
    25 #include "cxecenrepkeys.h"
       
    26 
       
    27 // constants
       
    28 static const char* INVALID_KEY = "invalid key";
       
    29 static const char* EMPTY_KEY = "";
       
    30 
       
    31 /**
       
    32 * UnitTestCxeSettingsCenrepStore::UnitTestCxeSettingsCenrepStore()
       
    33 */
       
    34 UnitTestCxeSettingsCenrepStore::UnitTestCxeSettingsCenrepStore()
       
    35 : mSettingsCenrepStore(NULL)
       
    36 {
       
    37 }
       
    38 
       
    39 /**
       
    40 * UnitTestCxeSettingsCenrepStore::~UnitTestCxeSettingsCenrepStore()
       
    41 */
       
    42 UnitTestCxeSettingsCenrepStore::~UnitTestCxeSettingsCenrepStore()
       
    43 {
       
    44     cleanup();
       
    45 }
       
    46 
       
    47 /**
       
    48 * UnitTestCxeSettingsCenrepStore::init()
       
    49 */
       
    50 void UnitTestCxeSettingsCenrepStore::init()
       
    51 {
       
    52     mSettingsCenrepStore = new CxeSettingsCenRepStore();
       
    53 }
       
    54 
       
    55 /**
       
    56 * UnitTestCxeSettingsCenrepStore::cleanup()
       
    57 */
       
    58 void UnitTestCxeSettingsCenrepStore::cleanup()
       
    59 {
       
    60     delete mSettingsCenrepStore;
       
    61     mSettingsCenrepStore = NULL;
       
    62 }
       
    63 
       
    64 
       
    65 /**
       
    66 * UnitTestCxeSettingsCenrepStore::testSettingValues()
       
    67 */
       
    68 void UnitTestCxeSettingsCenrepStore::testSettingValues()
       
    69 {
       
    70     QString settingkey = CxeSettingIds::FNAME_MONTH_FOLDER;
       
    71     QString scenekey = CxeSettingIds::COLOR_TONE;
       
    72     QVariant result;
       
    73     QVariant value = QVariant(2);
       
    74     CxeError::Id error;
       
    75     
       
    76     // case 0: check default value of a runtime key, real setting key and scene key
       
    77     error = mSettingsCenrepStore->get(settingkey, result);
       
    78     QVERIFY(error == CxeError::None);
       
    79     QCOMPARE(result.toInt(), 1);
       
    80     
       
    81     // scene key shouldnt be read from cenrepstore 
       
    82     error = mSettingsCenrepStore->get(scenekey, result);
       
    83     QVERIFY(error == CxeError::NotFound);
       
    84 
       
    85     
       
    86     // case 1: try setting a value to a run-time key and real setting key
       
    87     error = mSettingsCenrepStore->set(settingkey, value);
       
    88     QVERIFY(error == CxeError::None);
       
    89     
       
    90     error = mSettingsCenrepStore->set(scenekey, value);
       
    91     QVERIFY(error == CxeError::NotFound);
       
    92     
       
    93     // case 2: try setting with invalid key
       
    94     error = mSettingsCenrepStore->set(INVALID_KEY, value);
       
    95     QVERIFY(error == CxeError::NotFound);
       
    96     
       
    97     error = mSettingsCenrepStore->set(EMPTY_KEY, value);
       
    98     QVERIFY(error == CxeError::NotFound);
       
    99     
       
   100     // case 3: try reading a value with invalid key
       
   101     error = mSettingsCenrepStore->get(INVALID_KEY, value);
       
   102     QVERIFY(error == CxeError::NotFound);
       
   103     
       
   104     error = mSettingsCenrepStore->get(EMPTY_KEY, value);
       
   105     QVERIFY(error == CxeError::NotFound);
       
   106 
       
   107     // case 4: check if the new value is properly set to a real setting key
       
   108     error = mSettingsCenrepStore->get(settingkey, result);
       
   109     QVERIFY(error == CxeError::None);
       
   110     QCOMPARE(result.toInt(), 2);
       
   111 }
       
   112 
       
   113 /**
       
   114 * UnitTestCxeSettingsCenrepStore::testloadSettings
       
   115 */
       
   116 void UnitTestCxeSettingsCenrepStore::testloadSettings()
       
   117 {
       
   118     QList<QString> keys;
       
   119     keys.append(CxeVariationKeys::STILL_MAX_ZOOM_LIMITS);
       
   120     keys.append(CxeVariationKeys::VIDEO_MAX_ZOOM_LIMITS);
       
   121     keys.append(CxeVariationKeys::FREE_MEMORY_LEVELS);
       
   122     QHash<QString, QVariantList> runtimesettings =  mSettingsCenrepStore->loadVariationSettings(keys);
       
   123     
       
   124     foreach(QString runtimekey, keys) {
       
   125         QVariant result;
       
   126         CxeError::Id error = mSettingsCenrepStore->get(runtimekey, result);
       
   127         QVERIFY(error == CxeError::None);
       
   128         QCOMPARE(result.toInt(), 1);
       
   129     }
       
   130     
       
   131 }
       
   132 
       
   133 
       
   134 /*
       
   135  * UnitTestCxeSettingsCenrepStore::testReset()
       
   136  */
       
   137 void UnitTestCxeSettingsCenrepStore::testReset()
       
   138 {
       
   139     // Case 0: Set a value to a known setting
       
   140     QString settingkey = CxeSettingIds::FNAME_MONTH_FOLDER;
       
   141     QVariant value = QVariant(2);
       
   142     QVariant result;
       
   143     CxeError::Id error;
       
   144     
       
   145     error = mSettingsCenrepStore->set(settingkey, value);
       
   146     QVERIFY(error == CxeError::None);
       
   147     
       
   148     // now test if the value is set right
       
   149     error = mSettingsCenrepStore->get(settingkey, result);
       
   150     QVERIFY(error == CxeError::None);
       
   151     QCOMPARE(result.toInt(), 2);
       
   152     
       
   153     // Case 1: reset the cenrep
       
   154     mSettingsCenrepStore->reset();
       
   155     
       
   156     //! TODO: handle the reset case when the real implementation of reset changes.
       
   157     // for now reset doesnt reset the cenrep store as there is no real way of doing it
       
   158     // from xqsettingsmanager.
       
   159 }
       
   160 
       
   161 // main() function
       
   162 QTEST_APPLESS_MAIN(UnitTestCxeSettingsCenrepStore);
       
   163 
       
   164 // end of file