phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp
changeset 21 92ab7f8d0eab
child 78 baacf668fe89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,392 @@
+/*!
+* 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 tests for StringLoader.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+//#include <hbglobal_p.h>
+#include <stringloader.h>
+#include "phoneaction.h"
+#include "phoneresourceadapter.h"
+
+class TestPhoneStringLoader : public QObject
+{
+    Q_OBJECT
+public:
+    TestPhoneStringLoader();
+    virtual ~TestPhoneStringLoader();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testLoad ();
+    void testLoadL1 ();
+    void testLoadL2 ();
+    void testLoadL3 ();
+    void testLoadL4 ();
+    void testLoadL5 ();
+    void testLoadL6 ();
+    void testLoadL7 ();
+    void testLoadLC1 ();
+    void testLoadLC2 ();
+    void testLoadLC3 ();
+    void testLoadLC4 ();
+    void testLoadLC5 ();
+    void testLoadLC6 ();
+    void testLoadLC7 ();
+};
+
+int m_resourceId;
+bool m_convertCalled;
+bool m_set_text_map;
+PhoneResourceAdapter* m_resource_adapter;
+
+PhoneResourceAdapter* PhoneResourceAdapter::Instance (QObject *parent)
+{
+
+    Q_UNUSED (parent);
+    if ( 0 == m_resource_adapter )
+        m_resource_adapter = new PhoneResourceAdapter;
+    
+    return m_resource_adapter;
+}
+
+QMap<PhoneAction::ActionType, PhoneAction *> PhoneResourceAdapter::convert (int symbianResourceId, ...)
+{
+    m_resourceId = symbianResourceId;
+    m_convertCalled = true;
+    QMap<PhoneAction::ActionType, PhoneAction *> map;
+    if (m_set_text_map) {
+        PhoneAction *text = new PhoneAction;
+        text->setText(tr("Test"));
+        map[PhoneAction::Text] = text; 
+    }
+        
+    return map;
+}
+
+TestPhoneStringLoader::TestPhoneStringLoader ()
+{
+}
+
+TestPhoneStringLoader::~TestPhoneStringLoader ()
+{
+}
+
+void TestPhoneStringLoader::initTestCase ()
+{
+}
+
+void TestPhoneStringLoader::cleanupTestCase ()
+{
+}
+
+void TestPhoneStringLoader::init ()
+{
+    m_resourceId = -1;
+    m_convertCalled = false;
+    m_set_text_map = false;
+}
+
+void TestPhoneStringLoader::cleanup ()
+{
+    delete m_resource_adapter;
+    m_resource_adapter = 0;
+}
+
+void TestPhoneStringLoader::testLoad ()
+{
+    TBuf<255> string(KNullDesC);
+    StringLoader::Load(string, 1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    
+    m_set_text_map = true;
+    StringLoader::Load(string, 1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    
+}
+
+void TestPhoneStringLoader::testLoadL1 ()
+{
+    HBufC *buf = StringLoader::LoadL(1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL2 ()
+{
+    HBufC *buf = StringLoader::LoadL(1234, 3);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1234, 3);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL3 ()
+{
+    TBuf<255> string(KNullDesC);
+    HBufC *buf = StringLoader::LoadL(1234, string);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1234, string);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL4 ()
+{
+    TBuf<255> string(KNullDesC);
+    HBufC *buf = StringLoader::LoadL(666, string, 5);
+    QCOMPARE (m_resourceId, 666);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(666, string, 5);
+    QCOMPARE (m_resourceId, 666);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL5 ()
+{
+    CArrayFixFlat<TInt>* list = new(ELeave)CArrayFixFlat<TInt>(2);
+    HBufC *buf = StringLoader::LoadL(4321, *list);
+    QCOMPARE (m_resourceId, 4321);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(4321, *list);
+    QCOMPARE (m_resourceId, 4321);
+    QCOMPARE (m_convertCalled, true);
+    delete list;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL6 ()
+{
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(2);
+    HBufC *buf = StringLoader::LoadL(555, *list);
+    QCOMPARE (m_resourceId, 555);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(555, *list);
+    QCOMPARE (m_resourceId, 555);
+    QCOMPARE (m_convertCalled, true);
+    delete list;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL7 ()
+{
+	CDesCArray *list = new ( ELeave )CDesCArrayFlat(2);
+    CArrayFixFlat<TInt>* list2 = new(ELeave)CArrayFixFlat<TInt>(2);
+    HBufC *buf = StringLoader::LoadL(5678, *list, *list2);
+    QCOMPARE (m_resourceId, 5678);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(5678, *list, *list2);
+    QCOMPARE (m_resourceId, 5678);
+    QCOMPARE (m_convertCalled, true);   
+    delete list;
+    delete list2;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadLC1 ()
+{
+    HBufC *buf = 0;
+    TRAP_IGNORE( 
+            buf = StringLoader::LoadLC(1001); 
+            QCOMPARE (m_resourceId, 1001);
+            QCOMPARE (m_convertCalled, true);
+            CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    TRAP_IGNORE(
+            buf = StringLoader::LoadLC(1001);
+            QCOMPARE (m_resourceId, 1001);
+            QCOMPARE (m_convertCalled, true);
+            CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC2 ()
+{
+    HBufC *buf = 0;
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1235, 2);
+        QCOMPARE (m_resourceId, 1235);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1235, 2);
+        QCOMPARE (m_resourceId, 1235);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC3 ()
+{
+    HBufC *buf = 0;
+    TBuf<255> string(KNullDesC);
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1234, string);
+        QCOMPARE (m_resourceId, 1234);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1234, string);
+        QCOMPARE (m_resourceId, 1234);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC4 ()
+{
+    HBufC *buf = 0;
+    TBuf<255> string(KNullDesC);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(667, string, 9);
+        QCOMPARE (m_resourceId, 667);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(667, string, 9);
+        QCOMPARE (m_resourceId, 667);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC5 ()
+{
+    HBufC *buf = 0;
+    CArrayFixFlat<TInt>* list = new(ELeave)CArrayFixFlat<TInt>(2);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(4322, *list);
+        QCOMPARE (m_resourceId, 4322);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(4322, *list);
+        QCOMPARE (m_resourceId, 4322);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    delete list;
+}
+
+void TestPhoneStringLoader::testLoadLC6 ()
+{
+    HBufC *buf = 0;
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(5);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(556, *list);
+        QCOMPARE (m_resourceId, 556);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(556, *list);
+        QCOMPARE (m_resourceId, 556);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    delete list;
+}
+
+void TestPhoneStringLoader::testLoadLC7 ()
+{
+    HBufC *buf = 0;
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(3);
+    CArrayFixFlat<TInt>* list2 = new(ELeave)CArrayFixFlat<TInt>(2);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(5679, *list, *list2);
+        QCOMPARE (m_resourceId, 5679);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(5679, *list, *list2);
+        QCOMPARE (m_resourceId, 5679);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    delete list;
+    delete list2;
+}
+
+QTEST_MAIN(TestPhoneStringLoader)
+#include "unit_tests.moc"