blob: 9075a65ca20e70c8a2a0802653ba14d98d2aea8c [file] [log] [blame]
library fileapi;
import 'dart:async';
import 'dart:html';
import 'package:unittest/unittest.dart';
import 'package:unittest/html_config.dart';
import 'package:async_helper/async_helper.dart';
class FileAndDir {
FileEntry file;
DirectoryEntry dir;
FileAndDir(this.file, this.dir);
}
FileSystem fs;
main() async {
useHtmlConfiguration();
getFileSystem() async {
var fileSystem = await window.requestFileSystem(100);
fs = fileSystem;
}
if (FileSystem.supported) {
await getFileSystem();
test('fileDoesntExist', () async {
try {
var fileObj = await fs.root.getFile('file2');
fail("file found");
} catch (error) {
expect(true, error is DomException);
expect(DomException.NOT_FOUND, error.name);
}
});
test('fileCreate', () async {
var fileObj = await fs.root.createFile('file4');
expect(fileObj.name, equals('file4'));
expect(fileObj.isFile, isTrue);
var metadata = await fileObj.getMetadata();
var changeTime = metadata.modificationTime;
// Increased Windows buildbots can sometimes be particularly slow.
expect(new DateTime.now().difference(changeTime).inMinutes, lessThan(4));
expect(metadata.size, equals(0));
});
}
}