Fix testgui for Windows (PR #137)

Introduces TemporaryFile class to act as a proxy to fix autoreload test cases failing on windows due to the behavior of QTemporaryFile.
This commit is contained in:
Jonathan White
2017-01-03 22:27:41 -05:00
parent 534364454d
commit 5f1b9a17ca
5 changed files with 167 additions and 7 deletions

View File

@@ -81,9 +81,10 @@ void TestGui::init()
QCOMPARE(m_dbFile.write(m_dbData), static_cast<qint64>((m_dbData.size())));
m_dbFile.close();
m_dbFileName = QFileInfo(m_dbFile).fileName();
m_dbFileName = m_dbFile.fileName();
m_dbFilePath = m_dbFile.filePath();
fileDialog()->setNextFileName(m_dbFile.fileName());
fileDialog()->setNextFileName(m_dbFilePath);
triggerAction("actionDatabaseOpen");
QWidget* databaseOpenWidget = m_mainWindow->findChild<QWidget*>("databaseOpenWidget");
@@ -605,7 +606,7 @@ void TestGui::testDragAndDropGroup()
void TestGui::testSaveAs()
{
QFileInfo fileInfo(m_dbFile.fileName());
QFileInfo fileInfo(m_dbFilePath);
QDateTime lastModified = fileInfo.lastModified();
m_db->metadata()->setName("SaveAs");
@@ -642,6 +643,7 @@ void TestGui::testSave()
void TestGui::testDatabaseSettings()
{
m_db->metadata()->setName("Save");
triggerAction("actionChangeDatabaseSettings");
QWidget* dbSettingsWidget = m_dbWidget->findChild<QWidget*>("databaseSettingsWidget");
QSpinBox* transformRoundsSpinBox = dbSettingsWidget->findChild<QSpinBox*>("transformRoundsSpinBox");
@@ -707,7 +709,7 @@ void TestGui::cleanupTestCase()
void TestGui::checkDatabase(QString dbFileName)
{
if (dbFileName.isEmpty())
dbFileName = m_dbFile.fileName();
dbFileName = m_dbFilePath;
CompositeKey key;
key.addKey(PasswordKey("a"));