File indexing completed on 2024-04-21 14:55:17
0001 /* This file is part of the KDE libraries 0002 Copyright (c) 2005 Thomas Braxton <brax108@cox.net> 0003 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Library General Public 0006 License version 2 as published by the Free Software Foundation. 0007 0008 This library is distributed in the hope that it will be useful, 0009 but WITHOUT ANY WARRANTY; without even the implied warranty of 0010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0011 Library General Public License for more details. 0012 0013 You should have received a copy of the GNU Library General Public License 0014 along with this library; see the file COPYING.LIB. If not, write to 0015 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0016 Boston, MA 02110-1301, USA. 0017 */ 0018 0019 #include "qtest_kde.h" 0020 #include <ktempdir.h> 0021 0022 #include <QDir> 0023 #include <QObject> 0024 #include <QDebug> 0025 0026 class KTempDirTest : public QObject 0027 { 0028 Q_OBJECT 0029 private Q_SLOTS: 0030 void testDefaultCtor(); 0031 void testNoDelete(); 0032 void testAutoDelete(); 0033 void testCreateSubDir(); 0034 }; 0035 0036 void KTempDirTest::testDefaultCtor() 0037 { 0038 QString name; 0039 { 0040 KTempDir dir; 0041 QVERIFY(dir.status() == 0); 0042 QVERIFY(dir.exists()); 0043 name = dir.name(); 0044 qDebug() << name; 0045 QVERIFY(QDir(name).exists()); 0046 } 0047 QVERIFY(!QDir(name).exists()); 0048 #ifdef Q_OS_UNIX 0049 QVERIFY2(name.startsWith(QLatin1String("/tmp/")), qPrintable(name)); 0050 #endif 0051 } 0052 0053 void KTempDirTest::testNoDelete() 0054 { 0055 KTempDir dir(QLatin1String("test")); 0056 dir.setAutoRemove(false); 0057 QVERIFY(dir.status() == 0); 0058 QVERIFY(dir.exists()); 0059 QVERIFY(QDir(dir.name()).exists()); 0060 0061 dir.unlink(); 0062 QVERIFY(dir.status() == 0); 0063 QVERIFY(!dir.exists()); 0064 QVERIFY(!QDir(dir.name()).exists()); 0065 0066 } 0067 0068 void KTempDirTest::testAutoDelete() 0069 { 0070 KTempDir *dir = new KTempDir(QLatin1String("test")); 0071 QVERIFY(dir->status() == 0); 0072 QVERIFY(dir->exists()); 0073 0074 QString dName = dir->name(); 0075 delete dir; 0076 QVERIFY(!QDir(dName).exists()); 0077 } 0078 0079 void KTempDirTest::testCreateSubDir() 0080 { 0081 KTempDir *dir = new KTempDir(QLatin1String("test")); 0082 QVERIFY(dir->status() == 0); 0083 QVERIFY(dir->exists()); 0084 0085 QDir d(dir->name()); 0086 QVERIFY(d.exists()); 0087 0088 QVERIFY(d.mkdir(QString(QString::fromLatin1("123")))); 0089 QVERIFY(d.mkdir(QString(QString::fromLatin1("456")))); 0090 0091 QString dName = dir->name(); 0092 delete dir; 0093 d.refresh(); 0094 0095 QVERIFY(!QDir(dName).exists()); 0096 QVERIFY(!d.exists(QString::fromLatin1(("123")))); 0097 QVERIFY(!d.exists(QString(QString::fromLatin1("456")))); 0098 } 0099 0100 QTEST_MAIN(KTempDirTest) 0101 0102 #include "ktempdirtest.moc"