app/tsrc/unittest_mpmtpinfolink/src/unittest_mpmtpinfolink.cpp
changeset 37 eb79a7c355bf
child 43 0f32e550d9d8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tsrc/unittest_mpmtpinfolink/src/unittest_mpmtpinfolink.cpp	Fri Jun 11 19:36:32 2010 -0500
@@ -0,0 +1,149 @@
+/*
+* 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: Unit test for MpMtpInfoLink
+*
+*/
+
+#include <QGraphicsSceneMouseEvent>
+
+#include "stub/inc/hblabel.h"
+#include "stub/inc/qdesktopservices.h"
+#include "stub/inc/mpsettingsmanager.h"
+#include "unittest_mpmtpinfolink.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#define protected public
+#include "mpmtpinfolink.h"
+#undef protected
+#undef private
+
+//This so we can test private functions
+#include "../../src/mpmtpinfolink.cpp"
+
+
+/*!
+ Make our test case a stand-alone executable that runs all the test functions.
+ */
+int main(int argc, char *argv[])
+{
+    TestMpMtpInfoLink tv;
+
+    if ( argc > 1 ) {
+        return QTest::qExec( &tv, argc, argv);
+    }
+    else {
+        char *pass[3];
+        pass[0] = argv[0];
+        pass[1] = "-o";
+        pass[2] = "c:\\data\\unittest_mpmtpinfolink.txt";
+
+        return QTest::qExec(&tv, 3, pass);
+    }
+}
+
+TestMpMtpInfoLink::TestMpMtpInfoLink()
+    : mTest( 0 )
+{
+}
+
+TestMpMtpInfoLink::~TestMpMtpInfoLink()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpMtpInfoLink::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpMtpInfoLink::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpMtpInfoLink::init()
+{
+    mTest = new MpMtpInfoLink();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpMtpInfoLink::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ Tests constructor.
+*/
+void TestMpMtpInfoLink::testConstructor()
+{
+    QVERIFY(mTest->textWrapping() == Hb::TextWrapAnywhere );
+}
+
+/*!
+ testMousePressEvent.
+ */
+void TestMpMtpInfoLink::testMousePressEvent()
+{
+    //MpMtpInfoLink::mousePressEvent does nothing, included just to cover all functions.
+    QGraphicsSceneMouseEvent *event = new QGraphicsSceneMouseEvent();
+    mTest->mousePressEvent( event );
+    QVERIFY( mTest );
+}
+
+/*!
+ Tests HandleOpen.
+ */
+void TestMpMtpInfoLink::testMouseReleaseEvent()
+{
+    QGraphicsSceneMouseEvent *event = new QGraphicsSceneMouseEvent();
+
+    //Mock label rect: x=10, y=10, width=10, height=10);
+    QPointF releasePointOut(5,5);
+    QPointF releasePointIn(15,15);
+
+    //Verify releasing the mouse outside the label
+    event->setLastPos( releasePointOut );
+    mTest->mouseReleaseEvent( event );
+    QCOMPARE( QDesktopServices::instance()->mOpenUrlCount, 0);
+    //Verify releasing the mouse inside the label
+    event->setLastPos( releasePointIn );
+    mTest->mouseReleaseEvent( event );
+    QCOMPARE( QDesktopServices::instance()->mOpenUrlCount, 1);
+}
+
+/*!
+ testSetMtpInfoText
+ */
+void TestMpMtpInfoLink::testSetMtpInfoText( )
+{
+    //Verify with an url
+    QVERIFY( mTest->plainText().length() == 0 );
+    QVERIFY( mTest->html().length() > 0 );
+
+}
+
+//end of file