diff options
Diffstat (limited to 'src/tests/viewpropertiestest.cpp')
| -rw-r--r-- | src/tests/viewpropertiestest.cpp | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/tests/viewpropertiestest.cpp b/src/tests/viewpropertiestest.cpp index 1d9e886e1..73a26f289 100644 --- a/src/tests/viewpropertiestest.cpp +++ b/src/tests/viewpropertiestest.cpp @@ -109,45 +109,34 @@ void ViewPropertiesTest::testReadOnlyDirectory() QVERIFY(QFile(localFolder).setPermissions(QFileDevice::ReadOwner)); QScopedPointer<ViewProperties> props(new ViewProperties(testDirUrl)); +#ifdef Q_OS_WIN + const QString destinationDir = props->destinationDir(QStringLiteral("local")) + QDir::separator() + QString(localFolder).remove(QLatin1Char(':')); +#else + const QString destinationDir = props->destinationDir(QStringLiteral("local")) + localFolder; +#endif + QVERIFY(props->isAutoSaveEnabled()); props->setSortRole("someNewSortRole"); props.reset(); -#ifdef Q_OS_WIN - // On Windows the read-only attribute is not honored on directories: files and - // Alternate Data Streams can still be created inside them. The properties are - // therefore stored locally rather than redirected to the destination directory. - KFileMetaData::UserMetaData metadata(localFolder); - if (metadata.isSupported()) { - QVERIFY(metadata.hasAttribute("kde.fm.viewproperties#1")); - } else { - QVERIFY(QFile::exists(dotDirectoryFile)); - } -#else - // On a directory without write permission the properties are redirected to the - // destination directory, leaving the local directory untouched. - const QString destinationDir = props->destinationDir(QStringLiteral("local")) + localFolder; QVERIFY(QDir(destinationDir).exists()); QVERIFY(!QFile::exists(dotDirectoryFile)); KFileMetaData::UserMetaData metadata(localFolder); - QVERIFY(metadata.attribute(QStringLiteral("kde.fm.viewproperties#1")).isEmpty()); -#endif + const QString viewProperties = metadata.attribute(QStringLiteral("kde.fm.viewproperties#1")); + QVERIFY(viewProperties.isEmpty()); - // The stored value round-trips regardless of where it was written. props.reset(new ViewProperties(testDirUrl)); QVERIFY(props->isAutoSaveEnabled()); QCOMPARE(props->sortRole(), "someNewSortRole"); props.reset(); -#ifndef Q_OS_WIN - KFileMetaData::UserMetaData destMetadata(destinationDir); - if (destMetadata.isSupported()) { - QVERIFY(destMetadata.hasAttribute("kde.fm.viewproperties#1")); + metadata = KFileMetaData::UserMetaData(destinationDir); + if (metadata.isSupported()) { + QVERIFY(metadata.hasAttribute("kde.fm.viewproperties#1")); } else { QVERIFY(QFile::exists(destinationDir + "/.directory")); } -#endif // un-restrict write permissions QFile(localFolder).setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner); |
