filemanager/tsrc/unit/unit_backuprestoresettings/src/unit_backuprestoresettings.cpp
changeset 25 b7bfdea70ca2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filemanager/tsrc/unit/unit_backuprestoresettings/src/unit_backuprestoresettings.cpp	Fri Jun 25 17:08:34 2010 +0800
@@ -0,0 +1,358 @@
+/*
+* 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: This class is test case for backupsettings and restoresettings
+*
+*/
+
+#include <QtTest/QtTest>
+
+#include "fmbackupsettings.h"
+#include "fmrestoresettings.h"
+#include "fmbkupengine.h"
+#include <QStringList>
+
+#include <hbglobal.h>
+#include <QTranslator>
+#include <QLocale>
+
+class TestSettings: public QObject
+{
+    Q_OBJECT
+
+private slots:
+	// init test strings those are used to verify string fetch feature of FmBackupSettings.
+	void initTestCase();
+
+    void testTestSettingsContentAll();
+    void testTestSettingsContentOne();
+    void testTestSettingsContentTwo();
+
+    void testContentToString();
+    void testContentToString_data();
+
+    void testSchedulingToString();
+    void testSchedulingToString_data();
+
+    void testWeekdayToString();
+    void testWeekdayToString_data();
+
+    void testFmBackupEntry();
+
+    void testFmRestoreInfo();
+    void testFmRestoreEntry();
+
+    void cleanupTestCase();       // Finalize test data
+
+private:
+    FmBackupSettings *settings;
+	QString mFileManagerBackupWeekdayMonday;
+	QString mFileManagerBackupWeekdayTuesday;
+	QString mFileManagerBackupWeekdayWednesday;
+	QString mFileManagerBackupWeekdayThursday;
+	QString mFileManagerBackupWeekdayFirday;
+	QString mFileManagerBackupWeekdaySaturday;
+	QString mFileManagerBackupWeekdaySunday;
+
+	QString mFileManagerBackupScheduleNever;
+	QString mFileManagerBackupScheduleDaily;
+	QString mFileManagerBackupScheduleWeekly;
+
+	QString mFileManagerBackupSettingsTitleContents;
+	QString mFileManagerBackupSettingsTitleScheduling;
+	QString mFileManagerBackupSettingsTitleWeekday;
+	QString mFileManagerBackupSettingsTitleTime;
+	QString mFileManagerBackupSettingsTitleTargetDrive;
+
+	QString mFileManagerBackupSettingsContentAll;
+	QString mFileManagerBackupSettingsContentSettings;
+	QString mFileManagerBackupSettingsContentMessages;
+	QString mFileManagerBackupSettingsContentContacts;
+	QString mFileManagerBackupSettingsContentCalendar;
+	QString mFileManagerBackupSettingsContentBookmarks;
+	QString mFileManagerBackupSettingsContentUserFiles;
+};
+
+void TestSettings::initTestCase()
+{
+	// install translator
+	QTranslator translator;
+    QString lang = QLocale::system().name(); 
+    QString path = "z:/resource/qt/translations/"; 
+    translator.load( path + "filemanager_" + lang );
+    QCoreApplication::installTranslator(&translator);
+
+	// init localized string
+	mFileManagerBackupWeekdayMonday = hbTrId( "Monday" );
+	mFileManagerBackupWeekdayTuesday = hbTrId( "Tuesday" );
+	mFileManagerBackupWeekdayWednesday = hbTrId( "Wednesday" );
+	mFileManagerBackupWeekdayThursday = hbTrId( "Thursday" );
+	mFileManagerBackupWeekdayFirday = hbTrId( "Friday" );
+	mFileManagerBackupWeekdaySaturday = hbTrId( "Saturday" );
+	mFileManagerBackupWeekdaySunday = hbTrId( "Sunday" );
+
+	mFileManagerBackupScheduleNever = hbTrId( "Never" );
+	mFileManagerBackupScheduleDaily = hbTrId( "Daily" );
+	mFileManagerBackupScheduleWeekly = hbTrId( "Weekly" );
+
+	mFileManagerBackupSettingsTitleContents = hbTrId( "Backup Contents" );
+	mFileManagerBackupSettingsTitleScheduling = hbTrId( "Backup scheduling" );
+	mFileManagerBackupSettingsTitleWeekday = hbTrId( "Weekday" );
+	mFileManagerBackupSettingsTitleTime = hbTrId( "Time" );
+	mFileManagerBackupSettingsTitleTargetDrive = hbTrId( "Backup destination" );
+
+	mFileManagerBackupSettingsContentAll = hbTrId( "All" );
+	mFileManagerBackupSettingsContentSettings = hbTrId( "Settings" );
+	mFileManagerBackupSettingsContentMessages = hbTrId( "Messages" );
+	mFileManagerBackupSettingsContentContacts = hbTrId( "Contacts" );
+	mFileManagerBackupSettingsContentCalendar = hbTrId( "Calendar" );
+	mFileManagerBackupSettingsContentBookmarks = hbTrId( "Bookmarks" );
+	mFileManagerBackupSettingsContentUserFiles = hbTrId( "Files" );
+}
+
+void TestSettings::cleanupTestCase()
+{
+    QCoreApplication::processEvents();
+}
+
+void TestSettings::testTestSettingsContentAll()
+{
+    FmBkupEngine *backupEngine = new FmBkupEngine( this );
+    settings = new FmBackupSettings( backupEngine );
+    QTime time = QTime::currentTime();
+    settings->setContent(FmBackupSettings::EFileManagerBackupContentAll);
+    settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayMonday);
+    settings->setTime(time);
+    settings->setTargetDrive("C:");
+
+    settings->save();
+    delete settings;
+    
+
+    settings = new FmBackupSettings( backupEngine );
+    settings->load();
+
+    QVERIFY(settings->content() == FmBackupSettings::EFileManagerBackupContentAll);
+    QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayMonday);
+    QVERIFY( settings->time().toString() == time.toString() );
+    QVERIFY(settings->targetDrive() == "C:");
+
+    QList< FmBackupEntry* > backupEntryList = settings->backupEntryList();
+    
+    for( int i = 0; i< backupEntryList.count(); i++ )
+    {
+        FmBackupEntry* entry = backupEntryList[i];
+        switch( entry->type() )
+        {
+        case FmBackupEntry::EContents:
+            {
+            QVERIFY( entry->title() == mFileManagerBackupSettingsTitleContents );
+            break;
+            }
+        case FmBackupEntry::EScheduling:
+            {
+            QVERIFY( entry->title() == mFileManagerBackupSettingsTitleScheduling );
+            break;
+            }
+        case FmBackupEntry::EWeekday:
+            {
+            QVERIFY( entry->title() == mFileManagerBackupSettingsTitleWeekday );
+            break;
+            }
+        case FmBackupEntry::ETime:
+            {
+            QVERIFY( entry->title() == mFileManagerBackupSettingsTitleTime );
+            break;
+            }
+        case FmBackupEntry::ETarget:
+            {
+            QVERIFY( entry->title() == mFileManagerBackupSettingsTitleTargetDrive );
+            break;
+            }
+
+        }
+        qDebug( entry->title().toUtf8().data() );
+        qDebug( entry->tips().toUtf8().data() );
+    }
+    delete backupEngine;
+}
+
+
+void TestSettings::testTestSettingsContentOne()
+{
+    FmBkupEngine *backupEngine = new FmBkupEngine( this );
+    settings = new FmBackupSettings( backupEngine );
+    QTime time = QTime::currentTime();
+    settings->setContent(FmBackupSettings::EFileManagerBackupContentSettings | 
+        FmBackupSettings::EFileManagerBackupContentMessages);
+    settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayWednesday);
+    settings->setTime(time);
+    settings->setTargetDrive("E:");
+
+    settings->save();
+    delete settings;
+
+    settings = new FmBackupSettings( backupEngine );
+    settings->load();
+
+    QVERIFY(settings->content() == quint32(FmBackupSettings::EFileManagerBackupContentSettings |
+        FmBackupSettings::EFileManagerBackupContentMessages));
+    QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayWednesday);
+    QVERIFY( settings->time().toString() == time.toString() );
+    QVERIFY(settings->targetDrive() == "E:");
+    delete backupEngine;
+}
+
+void TestSettings::testTestSettingsContentTwo()
+{
+    FmBkupEngine *backupEngine = new FmBkupEngine( this );
+    settings = new FmBackupSettings( backupEngine );
+    QTime time = QTime::currentTime();
+    settings->setContent(FmBackupSettings::EFileManagerBackupContentSettings | 
+        FmBackupSettings::EFileManagerBackupContentMessages);
+    settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayWednesday);
+    settings->setTime(time);
+    settings->setTargetDrive("E:");
+
+    settings->save();
+    delete settings;
+
+    settings = new FmBackupSettings( backupEngine );
+    settings->load();
+
+    QVERIFY(settings->content() == quint32( FmBackupSettings::EFileManagerBackupContentSettings |
+        FmBackupSettings::EFileManagerBackupContentMessages ) );
+    QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly);
+    QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayWednesday);
+    QVERIFY( settings->time().toString() == time.toString() );
+    QVERIFY(settings->targetDrive() == "E:");
+    delete backupEngine;
+}
+
+void TestSettings::testContentToString()
+{
+    QFETCH(quint32, param);
+    QFETCH(QString, value);
+
+    QCOMPARE(FmBackupSettings::contentToString( param ), value);
+}
+
+void TestSettings::testContentToString_data()
+{
+    QTest::addColumn<quint32>("param");
+    QTest::addColumn<QString>("value");
+
+    QTest::newRow("contentToString_0") << (quint32)FmBackupSettings::EFileManagerBackupContentAll << mFileManagerBackupSettingsContentAll;
+    QTest::newRow("contentToString_1") << (quint32)FmBackupSettings::EFileManagerBackupContentSettings << mFileManagerBackupSettingsContentSettings;
+    QTest::newRow("contentToString_2") << (quint32)FmBackupSettings::EFileManagerBackupContentMessages << mFileManagerBackupSettingsContentMessages;
+    QTest::newRow("contentToString_3") << (quint32)FmBackupSettings::EFileManagerBackupContentContacts << mFileManagerBackupSettingsContentContacts;
+    QTest::newRow("contentToString_4") << (quint32)FmBackupSettings::EFileManagerBackupContentCalendar << mFileManagerBackupSettingsContentCalendar;
+    QTest::newRow("contentToString_5") << (quint32)FmBackupSettings::EFileManagerBackupContentBookmarks << mFileManagerBackupSettingsContentBookmarks;
+    QTest::newRow("contentToString_6") << (quint32)FmBackupSettings::EFileManagerBackupContentUserFiles << mFileManagerBackupSettingsContentUserFiles;
+}
+
+void TestSettings::testSchedulingToString()
+{
+    QFETCH(int, param);
+    QFETCH(QString, value);
+    FmBkupEngine *backupEngine = new FmBkupEngine( this );
+    settings = new FmBackupSettings( backupEngine );
+    QCOMPARE(settings->schedulingToString( (FmBackupSettings::TFileManagerBackupSchedule)param ), value);
+}
+
+void TestSettings::testSchedulingToString_data()
+{
+    QTest::addColumn<int>("param");
+    QTest::addColumn<QString>("value");
+
+    QTest::newRow("schedulingToString_0") << (int)FmBackupSettings::EFileManagerBackupScheduleNever << mFileManagerBackupScheduleNever;
+    QTest::newRow("schedulingToString_1") << (int)FmBackupSettings::EFileManagerBackupScheduleDaily << mFileManagerBackupScheduleDaily;
+    QTest::newRow("schedulingToString_2") << (int)FmBackupSettings::EFileManagerBackupScheduleWeekly << mFileManagerBackupScheduleWeekly;
+}
+
+void TestSettings::testWeekdayToString()
+{
+    QFETCH(int, param);
+    QFETCH(QString, value);
+
+    QCOMPARE(FmBackupSettings::weekdayToString( (FmBackupSettings::TFileManagerBackupWeekday)param ), value);
+}
+
+void TestSettings::testWeekdayToString_data()
+{
+
+    QTest::addColumn<int>("param");
+    QTest::addColumn<QString>("value");
+
+    QTest::newRow("weekdayToString_0") << (int)FmBackupSettings::EFileManagerBackupWeekdayMonday << mFileManagerBackupWeekdayMonday;
+    QTest::newRow("weekdayToString_1") << (int)FmBackupSettings::EFileManagerBackupWeekdayTuesday << mFileManagerBackupWeekdayTuesday;
+    QTest::newRow("weekdayToString_2") << (int)FmBackupSettings::EFileManagerBackupWeekdayWednesday << mFileManagerBackupWeekdayWednesday;
+    QTest::newRow("weekdayToString_3") << (int)FmBackupSettings::EFileManagerBackupWeekdayThursday << mFileManagerBackupWeekdayThursday;
+    QTest::newRow("weekdayToString_4") << (int)FmBackupSettings::EFileManagerBackupWeekdayFriday << mFileManagerBackupWeekdayFirday;
+    QTest::newRow("weekdayToString_5") << (int)FmBackupSettings::EFileManagerBackupWeekdaySaturday << mFileManagerBackupWeekdaySaturday;
+    QTest::newRow("weekdayToString_6") << (int)FmBackupSettings::EFileManagerBackupWeekdaySunday << mFileManagerBackupWeekdaySunday;
+}
+
+
+void TestSettings::testFmBackupEntry()
+{
+    FmBackupEntry backupEntry( "title","tips", FmBackupEntry::EContents );
+    QVERIFY( backupEntry.title() == "title" );
+    QVERIFY( backupEntry.tips() == "tips" );
+    QVERIFY( backupEntry.type() == FmBackupEntry::EContents );
+
+    FmBackupEntry backupEntryCopy( backupEntry );
+    QVERIFY( backupEntryCopy.title() == "title" );
+    QVERIFY( backupEntryCopy.tips() == "tips" );
+    QVERIFY( backupEntryCopy.type() == FmBackupEntry::EContents );
+
+}
+
+void TestSettings::testFmRestoreInfo()
+{
+    QDateTime dateTime = QDateTime::currentDateTime();
+    FmRestoreInfo restoreInfo((quint32)FmBackupSettings::EFileManagerBackupContentSettings, dateTime, "E:" );
+    QVERIFY( restoreInfo.content() == (quint32)FmBackupSettings::EFileManagerBackupContentSettings );
+    QVERIFY( restoreInfo.dateTime().toString() == dateTime.toString() );
+    QVERIFY( restoreInfo.drive() == "E:" );
+
+    FmRestoreInfo restoreInfoCopy( restoreInfo );
+    QVERIFY( restoreInfoCopy.content() == restoreInfo.content() );
+    QVERIFY( restoreInfoCopy.dateTime().toString() == restoreInfo.dateTime().toString() );
+    QVERIFY( restoreInfoCopy.drive() == restoreInfo.drive() );
+
+    FmRestoreInfo restoreInfoNext = restoreInfo;
+    QVERIFY( restoreInfoNext.content() == restoreInfo.content() );
+    QVERIFY( restoreInfoNext.dateTime().toString() == restoreInfo.dateTime().toString() );
+    QVERIFY( restoreInfoNext.drive() == restoreInfo.drive() );
+}
+
+void TestSettings::testFmRestoreEntry()
+{
+    QDateTime dateTime = QDateTime::currentDateTime();
+    FmRestoreInfo restoreInfo((quint32)FmBackupSettings::EFileManagerBackupContentSettings, dateTime, "E:" );
+
+    FmRestoreEntry restoreEntry( "displayText", restoreInfo );
+    QVERIFY( restoreEntry.text() == "displayText");
+    QVERIFY( restoreEntry.restoreInfo().content() == (quint32)FmBackupSettings::EFileManagerBackupContentSettings );
+    QVERIFY( restoreEntry.restoreInfo().dateTime().toString() == dateTime.toString() );
+    QVERIFY( restoreEntry.restoreInfo().drive() == "E:" );
+}
+
+QTEST_MAIN(TestSettings)
+#include "unit_backuprestoresettings.moc"