| Index: tests/standalone/io/file_system_links_test.dart
|
| diff --git a/tests/standalone/io/file_system_links_test.dart b/tests/standalone/io/file_system_links_test.dart
|
| index 2de2aa067de95547a5140d119721409bdfddc56d..90e9692b7f3f7577487e3705f42ba23d29a93f23 100644
|
| --- a/tests/standalone/io/file_system_links_test.dart
|
| +++ b/tests/standalone/io/file_system_links_test.dart
|
| @@ -3,6 +3,7 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| import "dart:io";
|
| +import "dart:isolate";
|
|
|
|
|
| createLink(String dst, String link, bool symbolic, void callback()) {
|
| @@ -66,16 +67,16 @@ testFileWriteRead() {
|
| new File(x).createSync();
|
| createLink(x, y, true, () {
|
| var data = "asdf".charCodes;
|
| - var output = new File(y).openOutputStream(FileMode.WRITE);
|
| - output.write(data);
|
| - output.onNoPendingWrites = () {
|
| - output.close();
|
| + var output = new File(y).openWrite(FileMode.WRITE);
|
| + output.add(data);
|
| + output.close();
|
| + output.done.then((_) {
|
| var read = new File(y).readAsBytesSync();
|
| Expect.listEquals(data, read);
|
| var read2 = new File(x).readAsBytesSync();
|
| Expect.listEquals(data, read2);
|
| temp.deleteSync(recursive: true);
|
| - };
|
| + });
|
| });
|
| }
|
|
|
| @@ -119,6 +120,7 @@ testDirectoryDelete() {
|
|
|
|
|
| testDirectoryListing() {
|
| + var keepAlive = new ReceivePort();
|
| var temp = new Directory('').createTempSync();
|
| var temp2 = new Directory('').createTempSync();
|
| var y = '${temp.path}${Platform.pathSeparator}y';
|
| @@ -142,23 +144,30 @@ testDirectoryListing() {
|
|
|
| files = [];
|
| dirs = [];
|
| - var lister = temp.list(recursive: true);
|
| - lister.onFile = (f) => files.add(f);
|
| - lister.onDir = (d) => dirs.add(d);
|
| - lister.onDone = (success) {
|
| - Expect.isTrue(success);
|
| - Expect.equals(1, files.length);
|
| - Expect.isTrue(files[0].endsWith('$y${Platform.pathSeparator}x'));
|
| - Expect.equals(1, dirs.length);
|
| - Expect.isTrue(dirs[0].endsWith(y));
|
| - temp.deleteSync(recursive: true);
|
| - temp2.deleteSync(recursive: true);
|
| - };
|
| + var lister = temp.list(recursive: true).listen(
|
| + (entity) {
|
| + if (entity is File) {
|
| + files.add(entity.name);
|
| + } else {
|
| + Expect.isTrue(entity is Directory);
|
| + dirs.add(entity.path);
|
| + }
|
| + },
|
| + onDone: () {
|
| + Expect.equals(1, files.length);
|
| + Expect.isTrue(files[0].endsWith('$y${Platform.pathSeparator}x'));
|
| + Expect.equals(1, dirs.length);
|
| + Expect.isTrue(dirs[0].endsWith(y));
|
| + temp.deleteSync(recursive: true);
|
| + temp2.deleteSync(recursive: true);
|
| + keepAlive.close();
|
| + });
|
| });
|
| }
|
|
|
|
|
| testDirectoryListingBrokenLink() {
|
| + var keepAlive = new ReceivePort();
|
| var temp = new Directory('').createTempSync();
|
| var x = '${temp.path}${Platform.pathSeparator}x';
|
| var link = '${temp.path}${Platform.pathSeparator}link';
|
| @@ -170,19 +179,25 @@ testDirectoryListingBrokenLink() {
|
| var files = [];
|
| var dirs = [];
|
| var errors = [];
|
| - var lister = temp.list(recursive: true);
|
| - lister.onFile = (f) => files.add(f);
|
| - lister.onDir = (d) => dirs.add(d);
|
| - lister.onError = (d) => errors.add(d);
|
| - lister.onDone = (success) {
|
| - Expect.isFalse(success);
|
| - Expect.equals(1, files.length);
|
| - Expect.isTrue(files[0].endsWith(x));
|
| - Expect.equals(0, dirs.length);
|
| - Expect.equals(1, errors.length);
|
| - Expect.isTrue(errors[0].toString().contains(link));
|
| - temp.deleteSync(recursive: true);
|
| - };
|
| + temp.list(recursive: true).listen(
|
| + (entity) {
|
| + if (entity is File) {
|
| + files.add(entity.name);
|
| + } else {
|
| + Expect.isTrue(entity is Directory);
|
| + dirs.add(entity.path);
|
| + }
|
| + },
|
| + onError: (e) => errors.add(e),
|
| + onDone: () {
|
| + Expect.equals(1, files.length);
|
| + Expect.isTrue(files[0].endsWith(x));
|
| + Expect.equals(0, dirs.length);
|
| + Expect.equals(1, errors.length);
|
| + Expect.isTrue(errors[0].toString().contains(link));
|
| + temp.deleteSync(recursive: true);
|
| + keepAlive.close();
|
| + });
|
| });
|
| }
|
|
|
|
|