aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autotests/kdesktopfiletest.cpp19
-rw-r--r--autotests/kdesktopfiletest.h1
-rw-r--r--src/core/kdesktopfile.cpp2
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 )