@@ -14,69 +14,74 @@ import "package:async_helper/async_helper.dart";
1414import "package:expect/expect.dart" ;
1515
1616import 'fuzz_support.dart' ;
17+ import 'file_write_only_test.dart' show withTempDir, withTempDirSync;
1718
1819fuzzSyncMethods () {
19- typeMapping.forEach ((k, v) {
20- doItSync (() {
21- Directory .systemTemp.createTempSync (v).deleteSync ();
22- });
23- Directory d;
24- doItSync (() => d = new Directory (v));
25- if (d == null ) return ;
26- doItSync (d.existsSync);
27- doItSync (d.createSync);
28- doItSync (d.deleteSync);
29- doItSync (d.listSync);
30- doItSync (() {
31- d.createTempSync ('tempdir' ).deleteSync ();
32- });
33- doItSync (() {
34- // Let's be a little careful. If the directory exists we don't
35- // want to delete it and all its contents.
36- if (! d.existsSync ()) d.deleteSync (recursive: true );
37- });
38- typeMapping.forEach ((k2, v2) {
39- doItSync (() => d.renameSync (v2));
40- doItSync (() => d.listSync (recursive: v2));
20+ withTempDirSync ('dart_directory_fuzz' , (temp) {
21+ typeMapping.forEach ((k, v) {
22+ doItSync (() {
23+ Directory .systemTemp.createTempSync ("${temp .path }/$v " ).deleteSync ();
24+ });
25+ Directory d;
26+ doItSync (() => d = new Directory ("${temp .path }/$v " ));
27+ if (d == null ) return ;
28+ doItSync (d.existsSync);
29+ doItSync (d.createSync);
30+ doItSync (d.deleteSync);
31+ doItSync (d.listSync);
32+ doItSync (() {
33+ d.createTempSync ('tempdir' ).deleteSync ();
34+ });
35+ doItSync (() {
36+ // Let's be a little careful. If the directory exists we don't
37+ // want to delete it and all its contents.
38+ if (! d.existsSync ()) d.deleteSync (recursive: true );
39+ });
40+ typeMapping.forEach ((k2, v2) {
41+ doItSync (() => d.renameSync (v2));
42+ doItSync (() => d.listSync (recursive: v2));
43+ });
4144 });
4245 });
4346}
4447
45- fuzzAsyncMethods () {
48+ fuzzAsyncMethods () async {
4649 asyncStart ();
47- var futures = < Future > [];
48- typeMapping.forEach ((k, v) {
49- futures.add (doItAsync (() {
50- Directory .systemTemp.createTempSync (v).deleteSync ();
51- }));
52- if (v is ! String ) {
53- Expect .throws (() => new Directory (v),
54- (e) => e is ArgumentError || e is TypeError );
55- return ;
56- }
57- var d = new Directory (v);
58- futures.add (doItAsync (d.exists));
59- futures.add (doItAsync (d.create));
60- futures.add (doItAsync (d.delete));
61- futures.add (doItAsync (() {
62- return d.createTemp ('tempdir' ).then ((temp) {
63- return temp.delete ();
64- });
65- }));
66- futures.add (doItAsync (() {
67- return d.exists ().then ((res) {
68- if (! res) return d.delete (recursive: true );
69- return new Future .value (true );
70- });
71- }));
72- typeMapping.forEach ((k2, v2) {
73- futures.add (doItAsync (() => d.rename (v2)));
50+ await withTempDir ('dart_directory_fuzz' , (temp) async {
51+ final futures = < Future > [];
52+ typeMapping.forEach ((k, v) {
53+ futures.add (doItAsync (() {
54+ Directory .systemTemp.createTempSync ("${temp .path }/$v " ).deleteSync ();
55+ }));
56+ if (v is ! String ) {
57+ Expect .throws (() => new Directory (v),
58+ (e) => e is ArgumentError || e is TypeError );
59+ return ;
60+ }
61+ var d = new Directory ("${temp .path }/$v " );
62+ futures.add (doItAsync (d.exists));
63+ futures.add (doItAsync (d.create));
64+ futures.add (doItAsync (d.delete));
7465 futures.add (doItAsync (() {
75- d.list (recursive: v2).listen ((_) {}, onError: (e) => null );
66+ return d.createTemp ('tempdir' ).then ((temp) {
67+ return temp.delete ();
68+ });
7669 }));
70+ futures.add (doItAsync (() {
71+ return d.exists ().then ((res) {
72+ if (! res) return d.delete (recursive: true );
73+ return new Future .value (true );
74+ });
75+ }));
76+ typeMapping.forEach ((k2, v2) {
77+ futures.add (doItAsync (() => d.rename (v2)));
78+ futures.add (doItAsync (() {
79+ d.list (recursive: v2).listen ((_) {}, onError: (e) => null );
80+ }));
81+ });
7782 });
83+ await Future .wait (futures).then ((_) => asyncEnd ());
7884 });
79- Future .wait (futures).then ((_) => asyncEnd ());
8085}
8186
8287main () {
0 commit comments