diff --git a/src/filesystem.cpp b/src/filesystem.cpp index c4ce76f2..938fa601 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -220,6 +220,12 @@ QVariant FileSystem::lastModified(const QString &path) const return QVariant(QDateTime()); } +// Links +QString FileSystem::readLink(const QString &path) const +{ + return QFileInfo(path).symLinkTarget(); +} + // Tests bool FileSystem::exists(const QString &path) const { @@ -446,6 +452,7 @@ void FileSystem::initCompletions() // functions addCompletion("list"); addCompletion("absolute"); + addCompletion("readLink"); addCompletion("exists"); addCompletion("isDirectory"); addCompletion("isFile"); diff --git a/src/filesystem.h b/src/filesystem.h index cc3a2bde..346f62f7 100644 --- a/src/filesystem.h +++ b/src/filesystem.h @@ -116,6 +116,9 @@ public slots: bool changeWorkingDirectory(const QString &path) const; QString absolute(const QString &relativePath) const; + // Links + QString readLink(const QString &path) const; + // Tests bool exists(const QString &path) const; bool isDirectory(const QString &path) const; diff --git a/test/fs-spec-03.js b/test/fs-spec-03.js index 4e10613a..97f132e8 100644 --- a/test/fs-spec-03.js +++ b/test/fs-spec-03.js @@ -30,4 +30,9 @@ describe("Files and Directories API", function() { fs.removeTree(TEST_DIR); expect(fs.changeWorkingDirectory(START_CWD)).toBeTruthy(); }); -}); \ No newline at end of file + + // TODO: test the actual functionality once we can create symlink. + it("should have readLink function", function() { + expect(typeof fs.readLink).toEqual('function'); + }); +});