From 16b9676a2c150840ebe09720122de84f154d613e Mon Sep 17 00:00:00 2001 From: vakrilov Date: Fri, 20 Mar 2015 12:13:12 +0200 Subject: [PATCH] Fix: Deleteing known folder should resolve as error --- apps/tests/file-system-tests.ts | 14 +++++++++++++ file-system/file-system-access.android.ts | 25 ++++++++++++++--------- file-system/file-system-access.ios.ts | 8 ++++++++ 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/apps/tests/file-system-tests.ts b/apps/tests/file-system-tests.ts index 8c26c53be..cb1743892 100644 --- a/apps/tests/file-system-tests.ts +++ b/apps/tests/file-system-tests.ts @@ -565,3 +565,17 @@ export var testKnownFolderRename = function () { }); } }; + +export function testKnownFolderRemove(done) { + var result; + + var knownFolder = fs.knownFolders.temp(); + + knownFolder.remove().then( + function () { + done(new Error("Remove known folder should resolve as error.")); + }, + function (error) { + done(null); + }); +}; diff --git a/file-system/file-system-access.android.ts b/file-system/file-system-access.android.ts index dc66e3d8f..d225b36f9 100644 --- a/file-system/file-system-access.android.ts +++ b/file-system/file-system-access.android.ts @@ -125,22 +125,27 @@ export class FileSystemAccess { return; } + if (isKnown) { + if (onError) { + onError({ message: "Cannot delete known folder." }); + } + + return; + } + // TODO: Asynchronous this.deleteFolderContent(javaFile); - if (!isKnown) { - if (javaFile.delete()) { - if (onSuccess) { - onSuccess(); - } - } else { - if (onError) { - onError({ message: "Folder deletion failed." }); - } + if (javaFile.delete()) { + if (onSuccess) { + onSuccess(); } } else { - // TODO: Notify error? + if (onError) { + onError({ message: "Folder deletion failed." }); + } } + } catch (exception) { if (onError) { onError(exception); diff --git a/file-system/file-system-access.ios.ts b/file-system/file-system-access.ios.ts index 6c9d6f0b9..975fb0620 100644 --- a/file-system/file-system-access.ios.ts +++ b/file-system/file-system-access.ios.ts @@ -176,6 +176,14 @@ export class FileSystemAccess { } public deleteFolder(path: string, isKnown?: boolean, onSuccess?: () => any, onError?: (error: any) => any) { + if (isKnown) { + if (onError) { + onError({ message: "Cannot delete known folder." }); + } + + return; + } + this.deleteEntity(path, onSuccess, onError); }