From 7847c19b35c70f159253d02c28740bd1e8e65460 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Mon, 28 Nov 2016 22:52:45 -0800 Subject: [PATCH] Merge get files calls into getFilesByScheme and use Uri.parse --- .../services/backup/node/backupFileService.ts | 15 +++++---------- .../backup/test/backupFileService.test.ts | 8 +++++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/vs/workbench/services/backup/node/backupFileService.ts b/src/vs/workbench/services/backup/node/backupFileService.ts index 3099be471cf..b3613425c75 100644 --- a/src/vs/workbench/services/backup/node/backupFileService.ts +++ b/src/vs/workbench/services/backup/node/backupFileService.ts @@ -22,8 +22,7 @@ export interface IBackupFilesModel { has(resource: Uri, versionId?: number): boolean; remove(resource: Uri): void; clear(): void; - getTextFiles(): string[]; - getUntitledFiles(): string[]; + getFilesByScheme(scheme: string): string[]; } // TODO@daniel this should resolve the backups with their file names once we have the metadata in place @@ -67,12 +66,8 @@ export class BackupFilesModel implements IBackupFilesModel { return true; } - public getTextFiles(): string[] { - return Object.keys(this.cache).filter(k => path.basename(path.dirname(k)) === 'file').map(k => k.replace('file://', '')); - } - - public getUntitledFiles(): string[] { - return Object.keys(this.cache).filter(k => path.basename(path.dirname(k)) === 'untitled').map(k => k.replace('file://', '')); + public getFilesByScheme(scheme: string): string[] { + return Object.keys(this.cache).filter(k => path.basename(path.dirname(k)) === scheme).map(k => Uri.parse(k).fsPath); } public remove(resource: Uri): void { @@ -190,7 +185,7 @@ export class BackupFileService implements IBackupFileService { public getWorkspaceTextFileBackups(): TPromise { return this.ready.then(model => { let readPromises: TPromise[] = []; - model.getTextFiles().forEach(textFile => { + model.getFilesByScheme('file').forEach(textFile => { readPromises.push(new TPromise((c, e) => { readToMatchingString(textFile, '\n', 2000, 10000, (error, result) => { if (result === null) { @@ -206,7 +201,7 @@ export class BackupFileService implements IBackupFileService { public getWorkspaceUntitledFileBackups(): TPromise { return this.ready.then(model => { - return model.getUntitledFiles(); + return model.getFilesByScheme('untitled'); }); } diff --git a/src/vs/workbench/services/backup/test/backupFileService.test.ts b/src/vs/workbench/services/backup/test/backupFileService.test.ts index f933111a632..8bdc54d7878 100644 --- a/src/vs/workbench/services/backup/test/backupFileService.test.ts +++ b/src/vs/workbench/services/backup/test/backupFileService.test.ts @@ -274,15 +274,17 @@ suite('BackupFileService', () => { }); }); - test('BackupFilesModel - getTextFiles', () => { + test('BackupFilesModel - getFilesByScheme', () => { const model = new BackupFilesModel(); - assert.deepEqual(model.getTextFiles(), []); + assert.deepEqual(model.getFilesByScheme('file'), []); + assert.deepEqual(model.getFilesByScheme('untitled'), []); model.add(Uri.file('/root/file/foo.html')); model.add(Uri.file('/root/file/bar.html')); model.add(Uri.file('/root/untitled/bar.html')); - assert.deepEqual(model.getTextFiles(), ['/root/file/foo.html', '/root/file/bar.html']); + assert.deepEqual(model.getFilesByScheme('file'), ['/root/file/foo.html', '/root/file/bar.html']); + assert.deepEqual(model.getFilesByScheme('untitled'), ['/root/untitled/bar.html']); }); }); \ No newline at end of file -- GitLab