Fix a bug in the file-system module for iOS (NSDate is automatically marshalled to JS Date).

This commit is contained in:
atanasovg
2015-04-08 14:14:52 +03:00
parent 0f5e107205
commit 57679f8fc8
3 changed files with 16 additions and 6 deletions

View File

@ -579,3 +579,16 @@ export function testKnownFolderRemove(done) {
done(null);
});
};
export function test_FSEntity_Properties() {
var documents = fs.knownFolders.documents();
var file = documents.getFile("Test_File.txt");
TKUnit.assert(file.extension === ".txt", "FileEntity.extension not working.");
TKUnit.assert(file.isLocked === false, "FileEntity.isLocked not working.");
TKUnit.assert(file.lastModified instanceof Date, "FileEntity.lastModified not working.");
TKUnit.assert(file.name === "Test_File.txt", "FileEntity.name not working.");
TKUnit.assert(file.parent === documents, "FileEntity.parent not working.");
file.remove();
}

View File

@ -18,11 +18,7 @@ export class FileSystemAccess {
var attributes = fileManager.attributesOfItemAtPathError(path, null);
if (attributes) {
var date = attributes.objectForKey(this.keyModificationTime);
var interval = date.timeIntervalSince1970();
// time interval is in seconds, Date constructor expects milliseconds, hence this multiply by 1000
return new Date(interval * 1000);
return attributes.objectForKey(this.keyModificationTime);
} else {
return new Date();
}

View File

@ -159,7 +159,8 @@ export class File extends FileSystemEntity {
}
get isLocked(): boolean {
return this[fileLockedProperty];
// !! is a boolean conversion/cast, handling undefined as well
return !!this[fileLockedProperty];
}
public readText(encoding?: string): Promise<string> {