summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp')
-rw-r--r--tests/auto/installer/copydirectoryoperation/tst_copydirectoryoperation.cpp43
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");