MessageBoxTest.cc 1.79 KB
Newer Older
1 2 3 4 5 6 7 8 9
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/

Don Gagne's avatar
Don Gagne committed
10 11

/// @file
Don Gagne's avatar
Don Gagne committed
12
///     @brief Unit test for QGCMessageBox catching mechanism.
Don Gagne's avatar
Don Gagne committed
13 14 15 16 17 18
///
///     @author Don Gagne <don@thegagnes.com>

#include "MessageBoxTest.h"
#include "QGCMessageBox.h"

19
MessageBoxTest::MessageBoxTest(void)
Don Gagne's avatar
Don Gagne committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
{
    
}

void MessageBoxTest::_messageBoxExpected_test(void)
{
    setExpectedMessageBox(QMessageBox::Ok);
    
    QCOMPARE(QGCMessageBox::information(QString(), QString()), QMessageBox::Ok);
    
    checkExpectedMessageBox();
}

void MessageBoxTest::_messageBoxUnexpected_test(void)
{
35
    // This should cause an expected failure in the cleanup method
Don Gagne's avatar
Don Gagne committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
    QGCMessageBox::information(QString(), QString());
    _expectMissedMessageBox = true;
}

void MessageBoxTest::_previousMessageBox_test(void)
{
    // This is the previous unexpected message box
    QGCMessageBox::information(QString(), QString());
    
    // Setup for an expected message box.
    QEXPECT_FAIL("", "Expecting failure due to previous message boxes", Continue);
    setExpectedMessageBox(QMessageBox::Ok);
}

void MessageBoxTest::_noMessageBox_test(void)
{
    setExpectedMessageBox(QMessageBox::Ok);
53
    checkExpectedMessageBox(expectFailNoDialog);
Don Gagne's avatar
Don Gagne committed
54 55 56 57 58 59 60 61 62 63 64 65
}

void MessageBoxTest::_badResponseButton_test(void)
{
    setExpectedMessageBox(QMessageBox::Cancel);

    // Will return Ok even though Cancel was specified, since that was wrong
    QCOMPARE(QGCMessageBox::information(QString(), QString()), QMessageBox::Ok);
    
    checkExpectedMessageBox(expectFailBadResponseButton);
}