You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.1 KiB
98 lines
3.1 KiB
/**************************************************************************** |
|
* |
|
* (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. |
|
* |
|
****************************************************************************/ |
|
|
|
|
|
/// @file |
|
/// @brief Unit test for QGCQFileDialog catching mechanism. |
|
/// |
|
/// @author Don Gagne <don@thegagnes.com> |
|
|
|
#include "FileDialogTest.h" |
|
#include "QGCQFileDialog.h" |
|
|
|
FileDialogTest::FileDialogTest(void) |
|
{ |
|
|
|
} |
|
|
|
void FileDialogTest::_fileDialogExpected_test(void) |
|
{ |
|
QStringList response; |
|
response << "" << "response"; |
|
|
|
for (int i=0; i<response.count(); i++) { |
|
setExpectedFileDialog(getExistingDirectory, QStringList(response[i])); |
|
QCOMPARE(QGCQFileDialog::getExistingDirectory(), response[i]); |
|
checkExpectedFileDialog(); |
|
} |
|
|
|
for (int i=0; i<response.count(); i++) { |
|
setExpectedFileDialog(getOpenFileName, QStringList(response[i])); |
|
QCOMPARE(QGCQFileDialog::getOpenFileName(), response[i]); |
|
checkExpectedFileDialog(); |
|
} |
|
|
|
for (int i=0; i<response.count(); i++) { |
|
setExpectedFileDialog(getSaveFileName, QStringList(response[i])); |
|
QCOMPARE(QGCQFileDialog::getSaveFileName(), response[i]); |
|
checkExpectedFileDialog(); |
|
} |
|
|
|
QList<QStringList> responseList; |
|
QStringList list; |
|
|
|
responseList.append(QStringList()); |
|
responseList.append(QStringList("response1")); |
|
list << "response1" << "response2"; |
|
responseList.append(list); |
|
|
|
for (int i=0; i<responseList.count(); i++) { |
|
setExpectedFileDialog(getOpenFileNames, responseList[i]); |
|
QStringList retResponse = QGCQFileDialog::getOpenFileNames(); |
|
checkExpectedFileDialog(); |
|
QCOMPARE(retResponse.count(), responseList[i].count()); |
|
for (int j=0; j<retResponse.count(); j++) { |
|
QCOMPARE(retResponse[j], responseList[i][j]); |
|
} |
|
} |
|
} |
|
|
|
void FileDialogTest::_fileDialogUnexpected_test(void) |
|
{ |
|
// This should cause an expected failure in the cleanup method |
|
QGCQFileDialog::getOpenFileName(); |
|
_expectMissedFileDialog = true; |
|
} |
|
|
|
void FileDialogTest::_previousFileDialog_test(void) |
|
{ |
|
// This is the previous unexpected file dialog |
|
QGCQFileDialog::getOpenFileName(); |
|
|
|
// Setup for an expected message box. |
|
QEXPECT_FAIL("", "Expecting failure due to previous file dialog", Continue); |
|
setExpectedFileDialog(getOpenFileName, QStringList()); |
|
} |
|
|
|
void FileDialogTest::_noFileDialog_test(void) |
|
{ |
|
setExpectedFileDialog(getOpenFileName, QStringList()); |
|
checkExpectedFileDialog(expectFailNoDialog); |
|
} |
|
|
|
void FileDialogTest::_fileDialogExpectedIncorrect_test(void) |
|
{ |
|
// Expecting save but get open dialog |
|
setExpectedFileDialog(getSaveFileName, QStringList()); |
|
QGCQFileDialog::getOpenFileName(); |
|
checkExpectedFileDialog(expectFailWrongFileDialog); |
|
|
|
// This is going to fail in cleanup as well since we have a missed file dialog |
|
_expectMissedFileDialog = true; |
|
}
|
|
|