camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxesettingscenrepstore/unittest_cxesettingscenrepstore.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxesettingscenrepstore/unittest_cxesettingscenrepstore.cpp Fri Apr 16 14:51:30 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* 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:
+*
+*/
+
+#include <QTest>
+
+#include "cxeerror.h"
+#include "cxutils.h"
+#include "cxesettingscenrepstore.h"
+#include "unittest_cxesettingscenrepstore.h"
+#include "cxenamespace.h"
+#include "cxecenrepkeys.h"
+
+// constants
+static const char* INVALID_KEY = "invalid key";
+static const char* EMPTY_KEY = "";
+
+/**
+* UnitTestCxeSettingsCenrepStore::UnitTestCxeSettingsCenrepStore()
+*/
+UnitTestCxeSettingsCenrepStore::UnitTestCxeSettingsCenrepStore()
+: mSettingsCenrepStore(NULL)
+{
+}
+
+/**
+* UnitTestCxeSettingsCenrepStore::~UnitTestCxeSettingsCenrepStore()
+*/
+UnitTestCxeSettingsCenrepStore::~UnitTestCxeSettingsCenrepStore()
+{
+ cleanup();
+}
+
+/**
+* UnitTestCxeSettingsCenrepStore::init()
+*/
+void UnitTestCxeSettingsCenrepStore::init()
+{
+ mSettingsCenrepStore = new CxeSettingsCenRepStore();
+}
+
+/**
+* UnitTestCxeSettingsCenrepStore::cleanup()
+*/
+void UnitTestCxeSettingsCenrepStore::cleanup()
+{
+ delete mSettingsCenrepStore;
+ mSettingsCenrepStore = NULL;
+}
+
+
+/**
+* UnitTestCxeSettingsCenrepStore::testSettingValues()
+*/
+void UnitTestCxeSettingsCenrepStore::testSettingValues()
+{
+ QString runtimekey = CxeRuntimeKeys::PRIMARY_CAMERA_CAPTURE_KEYS;
+ QString settingkey = CxeSettingIds::FNAME_MONTH_FOLDER;
+ QString scenekey = CxeSettingIds::COLOR_TONE;
+ QVariant result;
+ QVariant value = QVariant(2);
+ CxeError::Id error;
+
+ // case 0: check default value of a runtime key, real setting key and scene key
+ error = mSettingsCenrepStore->get(runtimekey, result);
+ QVERIFY(error == CxeError::None);
+ QCOMPARE(result.toInt(), 1);
+
+ error = mSettingsCenrepStore->get(settingkey, result);
+ QVERIFY(error == CxeError::None);
+ QCOMPARE(result.toInt(), 1);
+
+ // scene key shouldnt be read from cenrepstore
+ error = mSettingsCenrepStore->get(scenekey, result);
+ QVERIFY(error == CxeError::NotFound);
+
+
+ // case 1: try setting a value to a run-time key and real setting key
+ error = mSettingsCenrepStore->set(runtimekey, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ error = mSettingsCenrepStore->set(settingkey, value);
+ QVERIFY(error == CxeError::None);
+
+ error = mSettingsCenrepStore->set(scenekey, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ // case 2: try setting with invalid key
+ error = mSettingsCenrepStore->set(INVALID_KEY, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ error = mSettingsCenrepStore->set(EMPTY_KEY, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ // case 3: try reading a value with invalid key
+ error = mSettingsCenrepStore->get(INVALID_KEY, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ error = mSettingsCenrepStore->get(EMPTY_KEY, value);
+ QVERIFY(error == CxeError::NotFound);
+
+ // case 4: check if the new value is properly set to a real setting key
+ error = mSettingsCenrepStore->get(settingkey, result);
+ QVERIFY(error == CxeError::None);
+ QCOMPARE(result.toInt(), 2);
+}
+
+/**
+* UnitTestCxeSettingsCenrepStore::testloadSettings
+*/
+void UnitTestCxeSettingsCenrepStore::testloadSettings()
+{
+ QList<QString> keys;
+ keys.append(CxeRuntimeKeys::PRIMARY_CAMERA_CAPTURE_KEYS);
+ keys.append(CxeRuntimeKeys::PRIMARY_CAMERA_AUTOFOCUS_KEYS);
+ keys.append(CxeRuntimeKeys::SECONDARY_CAMERA_CAPTURE_KEYS);
+ keys.append(CxeRuntimeKeys::CONTRAST_ITEMS);
+ QHash<QString, QVariantList> runtimesettings = mSettingsCenrepStore->loadRuntimeSettings(keys);
+
+ foreach(QString runtimekey, keys) {
+ QVariant result;
+ CxeError::Id error = mSettingsCenrepStore->get(runtimekey, result);
+ QVERIFY(error == CxeError::None);
+ QCOMPARE(result.toInt(), 1);
+ }
+
+}
+
+
+/*
+ * UnitTestCxeSettingsCenrepStore::testReset()
+ */
+void UnitTestCxeSettingsCenrepStore::testReset()
+{
+ // Case 0: Set a value to a known setting
+ QString settingkey = CxeSettingIds::FNAME_MONTH_FOLDER;
+ QVariant value = QVariant(2);
+ QVariant result;
+ CxeError::Id error;
+
+ error = mSettingsCenrepStore->set(settingkey, value);
+ QVERIFY(error == CxeError::None);
+
+ // now test if the value is set right
+ error = mSettingsCenrepStore->get(settingkey, result);
+ QVERIFY(error == CxeError::None);
+ QCOMPARE(result.toInt(), 2);
+
+ // Case 1: reset the cenrep
+ mSettingsCenrepStore->reset();
+
+ //! TODO: handle the reset case when the real implementation of reset changes.
+ // for now reset doesnt reset the cenrep store as there is no real way of doing it
+ // from xqsettingsmanager.
+}
+
+// main() function
+QTEST_APPLESS_MAIN(UnitTestCxeSettingsCenrepStore);
+
+// end of file