homescreenapp/serviceproviders/hsmenuserviceprovider/tsrc/t_hsmenuserviceprovider/src/t_hsmenuentryremovedhandler.cpp
author hgs
Wed, 06 Oct 2010 16:06:24 +0300
changeset 97 66b5fe3c07fd
parent 90 3ac3aaebaee5
permissions -rw-r--r--
201039_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
90
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description: 
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QtGlobal>
hgs
parents:
diff changeset
    19
#include <QSignalSpy>
hgs
parents:
diff changeset
    20
 
hgs
parents:
diff changeset
    21
#include "t_hsmenuserviceprovider.h"
hgs
parents:
diff changeset
    22
#include "hsmenuentryremovedhandler.h"
hgs
parents:
diff changeset
    23
#include "t_hsmenuentryremovedcallback.h"
hgs
parents:
diff changeset
    24
#include <cadefs.h>
hgs
parents:
diff changeset
    25
#include "caservice.h"
hgs
parents:
diff changeset
    26
#include "canotifier.h"
hgs
parents:
diff changeset
    27
#include "canotifierfilter.h"
hgs
parents:
diff changeset
    28
97
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    29
// ---------------------------------------------------------------------------
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    30
//
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    31
// ---------------------------------------------------------------------------
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    32
//
90
hgs
parents:
diff changeset
    33
void MenuServiceTest::HsMenuEntryRemovedHandlerTest_data()
hgs
parents:
diff changeset
    34
{
hgs
parents:
diff changeset
    35
    // define testing data table
hgs
parents:
diff changeset
    36
    QTest::addColumn<int>("subscribedId");
hgs
parents:
diff changeset
    37
    QTest::addColumn<int>("notifiedChangeType");
hgs
parents:
diff changeset
    38
    QTest::addColumn<int>("notificationsCount");
hgs
parents:
diff changeset
    39
    QTest::addColumn<int>("callbacksCount");
hgs
parents:
diff changeset
    40
    // prepare concrete rows for testing
hgs
parents:
diff changeset
    41
    //                                             id   changeType                  
hgs
parents:
diff changeset
    42
    QTest::newRow("non_matching_id") << 0 << static_cast<int>(RemoveChangeType) << 1 << 0;
hgs
parents:
diff changeset
    43
    
hgs
parents:
diff changeset
    44
    QTest::newRow("non_matching_change_type") << 1 << static_cast<int>(AddChangeType) << 1 << 0;
hgs
parents:
diff changeset
    45
                                                 
hgs
parents:
diff changeset
    46
    QTest::newRow("many_notifications") << 1 << static_cast<int>(RemoveChangeType) << 3  << 1;
hgs
parents:
diff changeset
    47
                                                 
hgs
parents:
diff changeset
    48
    QTest::newRow("one_notification") << 1 << static_cast<int>(RemoveChangeType) << 1 << 1;
hgs
parents:
diff changeset
    49
                                                 
hgs
parents:
diff changeset
    50
    QTest::newRow("no_notification") << 1 << static_cast<int>(RemoveChangeType) << 0 << 0;
hgs
parents:
diff changeset
    51
}
hgs
parents:
diff changeset
    52
97
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    53
// ---------------------------------------------------------------------------
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    54
//
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    55
// ---------------------------------------------------------------------------
66b5fe3c07fd 201039_01
hgs
parents: 90
diff changeset
    56
//
90
hgs
parents:
diff changeset
    57
void MenuServiceTest::HsMenuEntryRemovedHandlerTest()
hgs
parents:
diff changeset
    58
{
hgs
parents:
diff changeset
    59
    QFETCH(int, subscribedId);
hgs
parents:
diff changeset
    60
    QFETCH(int, notifiedChangeType);
hgs
parents:
diff changeset
    61
    QFETCH(int, notificationsCount);
hgs
parents:
diff changeset
    62
    QFETCH(int, callbacksCount);
hgs
parents:
diff changeset
    63
    
hgs
parents:
diff changeset
    64
    QPointer<CaNotifier> caNotifierMock(new CaNotifier());
hgs
parents:
diff changeset
    65
    CaService::instance()->mCreateNotifierResult = caNotifierMock.data();
hgs
parents:
diff changeset
    66
    
hgs
parents:
diff changeset
    67
    T_HsMenuEntryRemovedCallback callbackObj;
hgs
parents:
diff changeset
    68
    HsMenuEntryRemovedHandler handler(subscribedId, &callbackObj, SLOT(callback()));
hgs
parents:
diff changeset
    69
    
hgs
parents:
diff changeset
    70
    QSignalSpy spy(&handler, SIGNAL(notify()));
hgs
parents:
diff changeset
    71
    
hgs
parents:
diff changeset
    72
    for (int i = 0 ; i < notificationsCount && !caNotifierMock.isNull(); ++i) {
hgs
parents:
diff changeset
    73
        caNotifierMock->issueEntryChanged(subscribedId, 
hgs
parents:
diff changeset
    74
            static_cast<ChangeType>(notifiedChangeType));
hgs
parents:
diff changeset
    75
        qApp->processEvents();
hgs
parents:
diff changeset
    76
    }
hgs
parents:
diff changeset
    77
    
hgs
parents:
diff changeset
    78
    QCOMPARE(callbackObj.callsCount(), callbacksCount);
hgs
parents:
diff changeset
    79
    QCOMPARE(spy.count(), callbackObj.callsCount());
hgs
parents:
diff changeset
    80
}