diff options
author | Katja Marttila <katja.marttila@qt.io> | 2020-12-28 12:55:47 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2020-12-30 11:10:10 +0200 |
commit | 9065a5f46a7d94e0a8a91e0bdb52834851609006 (patch) | |
tree | 0ec9ef786bbaab7c6c296ba58e40e6bbc805608a /tests | |
parent | 7be83635627ca1384862a8826de2d85979cdfc8e (diff) |
Allow disabling undo in CopyDirectory during uninstall
Task-number: QTIFW-2088
Change-Id: Ic5e781b89b1c74fc8f65575bd46c073610545523
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp b/tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp index bf95f635d..a1692095d 100644 --- a/tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp +++ b/tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp @@ -75,6 +75,20 @@ private: core->deleteLater(); } + QStringList populateSourceDirectory() + { + QStringList fileEntries; + fileEntries << "file1" << "file2" << ".hidden1" << ".hidden2"; + + // Populate source directory + foreach (const QString &entry, fileEntries) { + QFile file(m_sourcePath + entry); + file.open(QFileDevice::ReadWrite); + file.close(); + } + return fileEntries; + } + private slots: void initTestCase() { @@ -129,17 +143,9 @@ private slots: void testCopyDirectoryWithUndo() { - QStringList fileEntries; - fileEntries << "file1" << "file2" << ".hidden1" << ".hidden2"; + const QStringList fileEntries = populateSourceDirectory(); - // Populate source directory - foreach (const QString &entry, fileEntries) { - QFile file(m_sourcePath + entry); - QVERIFY(file.open(QFileDevice::ReadWrite)); - file.close(); - } CopyDirectoryOperation op(nullptr); - op.setArguments(QStringList() << m_sourcePath << m_destinationPath); QVERIFY2(op.performOperation(), op.errorString().toLatin1()); @@ -151,6 +157,25 @@ private slots: QVERIFY(!QFileInfo(m_destinationPath).exists()); } + + void testCopyDirectoryNoUndo() + { + const QStringList fileEntries = populateSourceDirectory(); + + CopyDirectoryOperation op(nullptr); + op.setArguments(QStringList() << m_sourcePath << m_destinationPath << "UNDOOPERATION" << ""); + + QVERIFY2(op.performOperation(), op.errorString().toLatin1()); + + foreach (const QString &entry, fileEntries) + QVERIFY(QFile(m_destinationPath + entry).exists()); + + QVERIFY2(op.undoOperation(), op.errorString().toLatin1()); + // Undo will NOT delete the empty destination directory here + foreach (const QString &entry, fileEntries) + QVERIFY(QFile(m_destinationPath + entry).exists()); + } + void testCopyDirectoryOverwrite() { QFile file(m_sourcePath + "file"); |