Index: tests/html/fileapi_test.dart |
diff --git a/tests/html/fileapi_test.dart b/tests/html/fileapi_test.dart |
index a089a3233b56e74351fceb17bcc495a80617ddd6..079197fc88204d4df20240bd87015c49d1017098 100644 |
--- a/tests/html/fileapi_test.dart |
+++ b/tests/html/fileapi_test.dart |
@@ -2,12 +2,11 @@ library fileapi; |
import '../../pkg/unittest/lib/unittest.dart'; |
import '../../pkg/unittest/lib/html_individual_config.dart'; |
import 'dart:html'; |
-import 'dart:async'; |
-class FileAndDir { |
- FileEntry file; |
- DirectoryEntry dir; |
- FileAndDir(this.file, this.dir); |
+void fail(message) { |
+ guardAsync(() { |
+ expect(false, isTrue, reason: message); |
+ }); |
} |
FileSystem fs; |
@@ -22,17 +21,20 @@ main() { |
}); |
getFileSystem() { |
- return window.requestFileSystem(Window.TEMPORARY, 100) |
- .then((FileSystem fileSystem) { |
- fs = fileSystem; |
- }); |
+ window.requestFileSystem(Window.TEMPORARY, 100, |
+ expectAsync1((FileSystem fileSystem) { |
+ fs = fileSystem; |
+ }), |
+ (e) { |
+ fail('Got file error: ${e.code}'); |
+ }); |
} |
group('unsupported_throws', () { |
test('requestFileSystem', () { |
var expectation = FileSystem.supported ? returnsNormally : throws; |
expect(() { |
- window.requestFileSystem(Window.TEMPORARY, 100); |
+ window.requestFileSystem(Window.TEMPORARY, 100, (_) {}, (_) {}); |
}, expectation); |
}); |
}); |
@@ -42,21 +44,27 @@ main() { |
test('getFileSystem', getFileSystem); |
test('directoryDoesntExist', () { |
- return fs.root.getDirectory( |
+ fs.root.getDirectory( |
'directory2', |
- options: {}) |
- .catchError((e) { |
- expect(e.error.code, equals(FileError.NOT_FOUND_ERR)); |
- }, test: (e) => e is FileError); |
+ options: {}, |
+ successCallback: (e) { |
+ fail('Should not be reached'); |
+ }, |
+ errorCallback: expectAsync1((FileError e) { |
+ expect(e.code, equals(FileError.NOT_FOUND_ERR)); |
+ })); |
}); |
test('directoryCreate', () { |
- return fs.root.getDirectory( |
+ fs.root.getDirectory( |
'directory3', |
- options: {'create': true}) |
- .then((DirectoryEntry e) { |
- expect(e.name, equals('directory3')); |
- }); |
+ options: {'create': true}, |
+ successCallback: expectAsync1((DirectoryEntry e) { |
+ expect(e.name, equals('directory3')); |
+ }), |
+ errorCallback: (e) { |
+ fail('Got file error: ${e.code}'); |
+ }); |
}); |
} |
}); |
@@ -66,137 +74,35 @@ main() { |
test('getFileSystem', getFileSystem); |
test('fileDoesntExist', () { |
- return fs.root.getFile( |
+ fs.root.getFile( |
'file2', |
- options: {}) |
- .catchError((e) { |
- expect(e.error.code, equals(FileError.NOT_FOUND_ERR)); |
- }, test: (e) => e is FileError); |
+ options: {}, |
+ successCallback: (e) { |
+ fail('Should not be reached'); |
+ }, |
+ errorCallback: expectAsync1((FileError e) { |
+ expect(e.code, equals(FileError.NOT_FOUND_ERR)); |
+ })); |
}); |
test('fileCreate', () { |
- return fs.root.getFile( |
+ fs.root.getFile( |
'file4', |
- options: {'create': true}) |
- .then((FileEntry e) { |
- expect(e.name, equals('file4')); |
- expect(e.isFile, isTrue); |
- return e.getMetadata(); |
- }).then((Metadata metadata) { |
- var changeTime = metadata.modificationTime; |
- expect(new DateTime.now().difference(changeTime).inSeconds, |
- lessThan(60)); |
- expect(metadata.size, equals(0)); |
- }); |
- }); |
- } |
- }); |
- |
- // Do the boilerplate to get several files and directories created to then |
- // test the functions that use those items. |
- Future doDirSetup() { |
- return fs.root.getFile( |
- 'file4', |
- options: {'create': true}) |
- .then((FileEntry file) { |
- return fs.root.getDirectory( |
- 'directory3', |
- options: {'create': true}) |
- .then((DirectoryEntry dir) { |
- return new Future.immediate(new FileAndDir(file, dir)); |
+ options: {'create': true}, |
+ successCallback: expectAsync1((FileEntry e) { |
+ expect(e.name, equals('file4')); |
+ expect(e.isFile, isTrue); |
+ |
+ e.getMetadata(expectAsync1((Metadata metadata) { |
+ var changeTime = metadata.modificationTime; |
+ expect(new DateTime.now().difference(changeTime).inSeconds, |
+ lessThan(60)); |
+ })); |
+ }), |
+ errorCallback: (e) { |
+ fail('Got file error: ${e.code}'); |
}); |
}); |
- } |
- |
- group('directoryReader', () { |
- if (FileSystem.supported) { |
- test('getFileSystem', getFileSystem); |
- |
- test('readEntries', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- var reader = fileAndDir.dir.createReader(); |
- return reader.readEntries(); |
- }).then((entries) { |
- expect(entries is List, true); |
- }); |
- }); |
- } |
- }); |
- |
- group('entry', () { |
- if (FileSystem.supported) { |
- test('getFileSystem', getFileSystem); |
- |
- test('copyTo', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.copyTo(fileAndDir.dir, name: 'copiedFile'); |
- }).then((entry) { |
- expect(entry.isFile, true); |
- expect(entry.name, 'copiedFile'); |
- }); |
- }); |
- |
- test('getParent', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.getParent(); |
- }).then((entry) { |
- expect(entry.name, ''); |
- expect(entry.isFile, false); |
- }); |
- }); |
- |
- test('moveTo', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.moveTo(fileAndDir.dir, name: 'movedFile'); |
- }).then((entry) { |
- expect(entry.name, 'movedFile'); |
- expect(entry.fullPath, '/directory3/movedFile'); |
- return fs.root.getFile('file4', options: {'create': false}); |
- }).catchError((e) { |
- expect(e.error.code, equals(FileError.NOT_FOUND_ERR)); |
- }, test: (e) => e is FileError); |
- }); |
- |
- test('remove', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.remove().then((_) {}); |
- }); |
- }); |
- } |
- }); |
- |
- group('fileEntry', () { |
- if (FileSystem.supported) { |
- test('getFileSystem', getFileSystem); |
- |
- test('createWriter', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.createWriter(); |
- }).then((writer) { |
- expect(writer.position, 0); |
- expect(writer.readyState, FileWriter.INIT); |
- expect(writer.length, 0); |
- }); |
- }); |
- |
- test('file', () { |
- return doDirSetup() |
- .then((fileAndDir) { |
- return fileAndDir.file.file() |
- .then((fileObj) { |
- expect(fileObj.name, fileAndDir.file.name); |
- expect(fileObj.relativePath, ''); |
- expect(new DateTime.now().difference( |
- fileObj.lastModifiedDate).inSeconds, lessThan(60)); |
- }); |
- }); |
- }); |
} |
}); |
} |