OLD | NEW |
---|---|
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 import "dart:async"; | 6 import "dart:async"; |
7 import "dart:io"; | 7 import "dart:io"; |
8 import "dart:isolate"; | 8 import "dart:isolate"; |
9 | 9 |
10 // Test the dart:io Link class. | 10 // Test the dart:io Link class. |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
130 } | 130 } |
131 f.complete(null); | 131 f.complete(null); |
132 }); | 132 }); |
133 } | 133 } |
134 } | 134 } |
135 Future.wait(futures).then((_) { | 135 Future.wait(futures).then((_) { |
136 baseDir.deleteSync(recursive: true); | 136 baseDir.deleteSync(recursive: true); |
137 }); | 137 }); |
138 } | 138 } |
139 | 139 |
140 testCreateLoopingLink() { | |
141 Path base = new Path(new Directory('').createTempSync().path); | |
142 new Directory.fromPath(base.append('a/b/c')).create(recursive: true) | |
143 .then((_) => | |
144 new Link.fromPath(base.append('a/b/c/d')) | |
145 .create(base.append('a/b').toNativePath())) | |
146 .then((_) => | |
147 new Link.fromPath(base.append('a/b/c/e')) | |
148 .create(base.append('a').toNativePath())) | |
149 .then((_) => | |
150 new Directory.fromPath(base.append('a')) | |
151 .list(recursive: true,followLinks: false) | |
Søren Gjesse
2013/04/10 11:33:23
space after ,
Bill Hesse
2013/04/10 12:49:47
Done.
| |
152 .last) | |
153 .then((_) => | |
154 // This directory listing must terminate, even though it contains loops. | |
155 new Directory.fromPath(base.append('a')) | |
156 .list(recursive: true,followLinks: true) | |
Søren Gjesse
2013/04/10 11:33:23
ditto.
| |
157 .last) | |
158 .then((_) => | |
159 // This directory listing must terminate, even though it contains loops. | |
160 new Directory.fromPath(base.append('a/b/c')) | |
161 .list(recursive: true, followLinks: true) | |
162 .last) | |
163 .then((_) => | |
164 new Directory.fromPath(base).delete(recursive: true)); | |
165 } | |
140 | 166 |
141 main() { | 167 main() { |
142 testCreateSync(); | 168 testCreateSync(); |
169 testCreateLoopingLink(); | |
143 } | 170 } |
OLD | NEW |