| 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 // Directory listing test that tests listSync on a missing directory. | 5 // Directory listing test that tests listSync on a missing directory. | 
| 6 // | 6 // | 
| 7 // TODO(7157): Merge this test into directory_test.dart testListNonExistent() | 7 // TODO(7157): Merge this test into directory_test.dart testListNonExistent() | 
| 8 // when it no longer crashes on Windows, when issue 7157 is resolved. | 8 // when it no longer crashes on Windows, when issue 7157 is resolved. | 
| 9 | 9 | 
| 10 import "package:expect/expect.dart"; | 10 import "package:expect/expect.dart"; | 
| 11 import "dart:io"; | 11 import "dart:io"; | 
| 12 import "dart:isolate"; | 12 import "dart:isolate"; | 
| 13 | 13 | 
| 14 void testListNonExistent() { | 14 void testListNonExistent() { | 
| 15   var keepAlive = new ReceivePort(); | 15   var keepAlive = new ReceivePort(); | 
| 16   new Directory("").createTemp().then((d) { | 16   new Directory("").createTemp().then((d) { | 
| 17     d.delete().then((ignore) { | 17     d.delete().then((ignore) { | 
| 18       Expect.throws(() => d.listSync(), (e) => e is DirectoryIOException); | 18       Expect.throws(() => d.listSync(), (e) => e is DirectoryException); | 
| 19       Expect.throws(() => d.listSync(recursive: true), | 19       Expect.throws(() => d.listSync(recursive: true), | 
| 20                     (e) => e is DirectoryIOException); | 20                     (e) => e is DirectoryException); | 
| 21       keepAlive.close(); | 21       keepAlive.close(); | 
| 22     }); | 22     }); | 
| 23   }); | 23   }); | 
| 24 } | 24 } | 
| 25 | 25 | 
| 26 void testListTooLongName() { | 26 void testListTooLongName() { | 
| 27   var keepAlive = new ReceivePort(); | 27   var keepAlive = new ReceivePort(); | 
| 28   new Directory("").createTemp().then((d) { | 28   new Directory("").createTemp().then((d) { | 
| 29     var subDirName = 'subdir'; | 29     var subDirName = 'subdir'; | 
| 30     var subDir = new Directory("${d.path}/$subDirName"); | 30     var subDir = new Directory("${d.path}/$subDirName"); | 
| 31     subDir.create().then((ignore) { | 31     subDir.create().then((ignore) { | 
| 32       // Construct a long string of the form | 32       // Construct a long string of the form | 
| 33       // 'tempdir/subdir/../subdir/../subdir'. | 33       // 'tempdir/subdir/../subdir/../subdir'. | 
| 34       var buffer = new StringBuffer(); | 34       var buffer = new StringBuffer(); | 
| 35       buffer.write(subDir.path); | 35       buffer.write(subDir.path); | 
| 36       for (var i = 0; i < 1000; i++) { | 36       for (var i = 0; i < 1000; i++) { | 
| 37         buffer.write("/../${subDirName}"); | 37         buffer.write("/../${subDirName}"); | 
| 38       } | 38       } | 
| 39       var long = new Directory("${buffer.toString()}"); | 39       var long = new Directory("${buffer.toString()}"); | 
| 40       Expect.throws(() => long.listSync(), | 40       Expect.throws(() => long.listSync(), | 
| 41                     (e) => e is DirectoryIOException); | 41                     (e) => e is DirectoryException); | 
| 42       Expect.throws(() => long.listSync(recursive: true), | 42       Expect.throws(() => long.listSync(recursive: true), | 
| 43                     (e) => e is DirectoryIOException); | 43                     (e) => e is DirectoryException); | 
| 44       d.deleteSync(recursive: true); | 44       d.deleteSync(recursive: true); | 
| 45       keepAlive.close(); | 45       keepAlive.close(); | 
| 46     }); | 46     }); | 
| 47   }); | 47   }); | 
| 48 } | 48 } | 
| 49 | 49 | 
| 50 void main() { | 50 void main() { | 
| 51   testListNonExistent(); | 51   testListNonExistent(); | 
| 52   testListTooLongName(); | 52   testListTooLongName(); | 
| 53 } | 53 } | 
| OLD | NEW | 
|---|