diff options
-rw-r--r-- | autotests/kdesktopfiletest.cpp | 19 | ||||
-rw-r--r-- | autotests/kdesktopfiletest.h | 1 | ||||
-rw-r--r-- | src/core/kdesktopfile.cpp | 2 |
3 files changed, 21 insertions, 1 deletions
diff --git a/autotests/kdesktopfiletest.cpp b/autotests/kdesktopfiletest.cpp index 66fc8827..d0a0a262 100644 --- a/autotests/kdesktopfiletest.cpp +++ b/autotests/kdesktopfiletest.cpp @@ -62,6 +62,25 @@ void KDesktopFileTest::testRead() QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath()); } +void KDesktopFileTest::testReadDirectory() +{ + QTemporaryFile file("testReadDirectoryXXXXXX.directory"); + QVERIFY(file.open()); + const QString fileName = file.fileName(); + QTextStream ts(&file); + ts << + "[Desktop Entry]\n" + "Type=Directory\n" + "SortOrder=2.desktop;1.desktop;\n" + "\n"; + file.close(); + QVERIFY(QFile::exists(fileName)); + KDesktopFile df(fileName); + QCOMPARE(df.readType(), QString::fromLatin1("Directory")); + QCOMPARE(df.sortOrder(), QStringList() << QString::fromLatin1("2.desktop") + << QString::fromLatin1("1.desktop")); +} + void KDesktopFileTest::testReadLocalized_data() { QTest::addColumn<QLocale>("locale"); diff --git a/autotests/kdesktopfiletest.h b/autotests/kdesktopfiletest.h index ed6679a2..f63edd0d 100644 --- a/autotests/kdesktopfiletest.h +++ b/autotests/kdesktopfiletest.h @@ -27,6 +27,7 @@ class KDesktopFileTest : public QObject private Q_SLOTS: void initTestCase(); void testRead(); + void testReadDirectory(); void testReadLocalized_data(); void testReadLocalized(); void testUnsuccessfulTryExec(); diff --git a/src/core/kdesktopfile.cpp b/src/core/kdesktopfile.cpp index 52a97ec7..8d53ece4 100644 --- a/src/core/kdesktopfile.cpp +++ b/src/core/kdesktopfile.cpp @@ -330,7 +330,7 @@ QStringList KDesktopFile::sortOrder() const { Q_D(const KDesktopFile); - return d->desktopGroup.readEntry("SortOrder", QStringList()); + return d->desktopGroup.readXdgListEntry("SortOrder"); } //void KDesktopFile::virtual_hook( int id, void* data ) |