提交 b360e056 编写于 作者: D Daniel Imms

Return URIs from new get file functions

上级 7847c19b
......@@ -677,11 +677,11 @@ export class TestBackupFileService implements IBackupFileService {
return TPromise.as(void 0);
}
public getWorkspaceTextFileBackups(): TPromise<string[]> {
public getWorkspaceTextFileBackups(): TPromise<URI[]> {
return TPromise.as([]);
}
public getWorkspaceUntitledFileBackups(): TPromise<string[]> {
public getWorkspaceUntitledFileBackups(): TPromise<URI[]> {
return TPromise.as([]);
}
......
......@@ -61,14 +61,14 @@ export interface IBackupFileService {
*
* @return The list of backups.
*/
getWorkspaceTextFileBackups(): TPromise<string[]>;
getWorkspaceTextFileBackups(): TPromise<Uri[]>;
/**
* Gets a list of untitled backups for the current workspace.
*
* @return The list of backups.
*/
getWorkspaceUntitledFileBackups(): TPromise<string[]>;
getWorkspaceUntitledFileBackups(): TPromise<Uri[]>;
/**
* Discards the backup associated with a resource if it exists..
......
......@@ -22,7 +22,7 @@ export interface IBackupFilesModel {
has(resource: Uri, versionId?: number): boolean;
remove(resource: Uri): void;
clear(): void;
getFilesByScheme(scheme: string): string[];
getFilesByScheme(scheme: string): Uri[];
}
// TODO@daniel this should resolve the backups with their file names once we have the metadata in place
......@@ -66,8 +66,8 @@ export class BackupFilesModel implements IBackupFilesModel {
return true;
}
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 getFilesByScheme(scheme: string): Uri[] {
return Object.keys(this.cache).filter(k => path.basename(path.dirname(k)) === scheme).map(k => Uri.parse(k));
}
public remove(resource: Uri): void {
......@@ -182,16 +182,16 @@ export class BackupFileService implements IBackupFileService {
});
}
public getWorkspaceTextFileBackups(): TPromise<string[]> {
public getWorkspaceTextFileBackups(): TPromise<Uri[]> {
return this.ready.then(model => {
let readPromises: TPromise<string>[] = [];
let readPromises: TPromise<Uri>[] = [];
model.getFilesByScheme('file').forEach(textFile => {
readPromises.push(new TPromise<string>((c, e) => {
readToMatchingString(textFile, '\n', 2000, 10000, (error, result) => {
readPromises.push(new TPromise<Uri>((c, e) => {
readToMatchingString(textFile.fsPath, '\n', 2000, 10000, (error, result) => {
if (result === null) {
e(error);
}
c(result);
c(Uri.parse(result));
});
}));
});
......@@ -199,7 +199,7 @@ export class BackupFileService implements IBackupFileService {
});
}
public getWorkspaceUntitledFileBackups(): TPromise<string[]> {
public getWorkspaceUntitledFileBackups(): TPromise<Uri[]> {
return this.ready.then(model => {
return model.getFilesByScheme('untitled');
});
......
......@@ -173,10 +173,10 @@ suite('BackupFileService', () => {
test('getWorkspaceTextFileBackups - text file', done => {
service.backupResource(fooFile, `test`).then(() => {
service.getWorkspaceTextFileBackups().then(textFiles => {
assert.deepEqual(textFiles, [fooFile.fsPath]);
assert.deepEqual(textFiles.map(f => f.fsPath), [fooFile.fsPath]);
service.backupResource(barFile, `test`).then(() => {
service.getWorkspaceTextFileBackups().then(textFiles => {
assert.deepEqual(textFiles, [fooFile.fsPath, barFile.fsPath]);
assert.deepEqual(textFiles.map(f => f.fsPath), [fooFile.fsPath, barFile.fsPath]);
done();
});
});
......@@ -207,7 +207,7 @@ suite('BackupFileService', () => {
test('getWorkspaceUntitledFileBackups - untitled file', done => {
service.backupResource(untitledFile, `test`).then(() => {
service.getWorkspaceUntitledFileBackups().then(textFiles => {
assert.deepEqual(textFiles, [untitledBackupPath]);
assert.deepEqual(textFiles.map(f => f.fsPath), [untitledBackupPath]);
done();
});
});
......@@ -284,7 +284,7 @@ suite('BackupFileService', () => {
model.add(Uri.file('/root/file/bar.html'));
model.add(Uri.file('/root/untitled/bar.html'));
assert.deepEqual(model.getFilesByScheme('file'), ['/root/file/foo.html', '/root/file/bar.html']);
assert.deepEqual(model.getFilesByScheme('untitled'), ['/root/untitled/bar.html']);
assert.deepEqual(model.getFilesByScheme('file').map(f => f.fsPath), ['/root/file/foo.html', '/root/file/bar.html']);
assert.deepEqual(model.getFilesByScheme('untitled').map(f => f.fsPath), ['/root/untitled/bar.html']);
});
});
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册