camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxefilesavethreadsymbian/unittest_cxefilesavethreadsymbian.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxefilesavethreadsymbian/unittest_cxefilesavethreadsymbian.cpp Tue Aug 31 15:03:46 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2009-2010 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 <QByteArray>
+#include <QSignalSpy>
+#include <QThread>
+
+#include "unittest_cxefilesavethreadsymbian.h"
+#include "cxefilesavethreadsymbian.h"
+#include "cxefakeimagedataitem.h"
+#include "cxetestutils.h"
+
+
+
+/**
+* UnitTestCxeFileSaveThreadSymbian::UnitTestCxeFileSaveThreadSymbian()
+*/
+UnitTestCxeFileSaveThreadSymbian::UnitTestCxeFileSaveThreadSymbian()
+: mFileSaveThread(NULL)
+{
+}
+
+/**
+* UnitTestCxeFileSaveThreadSymbian::~UnitTestCxeFileSaveThreadSymbian()
+*/
+UnitTestCxeFileSaveThreadSymbian::~UnitTestCxeFileSaveThreadSymbian()
+{
+ cleanup();
+}
+
+/**
+* UnitTestCxeFileSaveThreadSymbian::init()
+*/
+void UnitTestCxeFileSaveThreadSymbian::init()
+{
+ mFileSaveThread = new CxeFileSaveThreadSymbian(this);
+}
+
+/**
+* UnitTestCxeFileSaveThreadSymbian::cleanup()
+*/
+void UnitTestCxeFileSaveThreadSymbian::cleanup()
+{
+ delete mFileSaveThread;
+ mFileSaveThread = NULL;
+}
+
+
+/**
+* UnitTestCxeFileSaveThreadSymbian::testSave()
+*/
+void UnitTestCxeFileSaveThreadSymbian::testSave()
+{
+ QString filename("e:\\testdata.txt");
+
+ // Case 0: Checking if a file is saved with all valid parameters
+ const int index(2);
+ const int id(7);
+ CxeImageDataItem *imageDataItem = new CxeFakeImageDataItem(index, QByteArray("unit test successful"), filename, id, false);
+
+ QSignalSpy imageItemStateSpy(imageDataItem, SIGNAL(imageSaved(CxeError::Id, const QString&, int)));
+
+ QVERIFY(imageItemStateSpy.isValid());
+
+ QCOMPARE(imageDataItem->state(), CxeImageDataItem::SavePending);
+ //Saving thread takes ownership of dataItem
+ mFileSaveThread->save(imageDataItem);
+ // wait for imageSavedSignal
+ QVERIFY(CxeTestUtils::waitForSignal(imageItemStateSpy, 100));
+
+ QCOMPARE(imageItemStateSpy.count(), 1);
+ if (imageItemStateSpy.count() > 0) {
+ QList<QVariant> initModeArguments = imageItemStateSpy.takeFirst();
+ QCOMPARE(initModeArguments.at(0).toInt(), (int)CxeError::None);
+ QCOMPARE(initModeArguments.at(1).toString(), filename);
+ QCOMPARE(initModeArguments.at(2).toInt(), id);
+ }
+
+ QVERIFY(mFileSaveThread->isRunning());
+
+ // case 1: checking with CxeImageDataItem = NULL
+ mFileSaveThread->save(NULL);
+
+}
+
+// main() function
+QTEST_MAIN(UnitTestCxeFileSaveThreadSymbian);
+
+// end of file