summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/widgets/itemviews/qdirmodel/tst_qdirmodel.cpp30
1 files changed, 25 insertions, 5 deletions
diff --git a/tests/auto/widgets/itemviews/qdirmodel/tst_qdirmodel.cpp b/tests/auto/widgets/itemviews/qdirmodel/tst_qdirmodel.cpp
index 70eb17b5e6..66896bb2e4 100644
--- a/tests/auto/widgets/itemviews/qdirmodel/tst_qdirmodel.cpp
+++ b/tests/auto/widgets/itemviews/qdirmodel/tst_qdirmodel.cpp
@@ -63,10 +63,15 @@ public:
public slots:
void initTestCase();
void cleanupTestCase();
+#ifdef Q_OS_UNIX
void init();
+#endif
void cleanup();
private slots:
void getSetCheck();
+#ifdef Q_OS_UNIX
+ void unreadable();
+#endif
/*
void construct();
void rowCount();
@@ -158,9 +163,20 @@ void tst_QDirModel::cleanupTestCase()
current.rmdir(".qtest_hidden");
}
+#ifdef Q_OS_UNIX
void tst_QDirModel::init()
{
+ if (QTest::currentTestFunction() == QLatin1String( "unreadable" )) {
+ // Make sure that the unreadable file created by the unreadable()
+ // test function doesn't already exist.
+ QFile unreadableFile(QDir::currentPath() + "qtest_unreadable");
+ if (unreadableFile.exists()) {
+ unreadableFile.remove();
+ QVERIFY(!unreadableFile.exists());
+ }
+ }
}
+#endif
void tst_QDirModel::cleanup()
{
@@ -554,24 +570,28 @@ void tst_QDirModel::fileName()
QCOMPARE(model.fileName(model.index(path)), result);
}
-#if 0
#ifdef Q_OS_UNIX
void tst_QDirModel::unreadable()
{
- //QFile current("qtest_unreadable");
- //QVERIFY(current.setPermissions(QFile::WriteOwner));
+ // Create an empty file which has no read permissions (file will be removed by cleanup()).
+ QFile unreadableFile(QDir::currentPath() + "qtest_unreadable");
+ QVERIFY2(unreadableFile.open(QIODevice::WriteOnly | QIODevice::Text), qPrintable(unreadableFile.errorString()));
+ unreadableFile.close();
+ QVERIFY(unreadableFile.exists());
+ QVERIFY2(unreadableFile.setPermissions(QFile::WriteOwner), qPrintable(unreadableFile.errorString()));
+ // Check that we can't make a valid model index from an unreadable file.
QDirModel model;
QModelIndex index = model.index(QDir::currentPath() + "/qtest_unreadable");
QVERIFY(!index.isValid());
+ // Check that unreadable files are not treated like hidden files.
QDirModel model2;
model2.setFilter(model2.filter() | QDir::Hidden);
index = model2.index(QDir::currentPath() + "/qtest_unreadable");
- QVERIFY(index.isValid());
+ QVERIFY(!index.isValid());
}
#endif
-#endif
void tst_QDirModel::filePath()
{