OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 part of testrunner; | 5 part of testrunner; |
6 | 6 |
7 /** | 7 /** |
8 * Read the contents of a file [fileName] into a [List] of [String]s. | 8 * Read the contents of a file [fileName] into a [List] of [String]s. |
9 * If the file does not exist and [errorIfNoFile] is true, throw an | 9 * If the file does not exist and [errorIfNoFile] is true, throw an |
10 * exception, else return an empty list. | 10 * exception, else return an empty list. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 File f = new File(path); | 63 File f = new File(path); |
64 if (f.existsSync()) { | 64 if (f.existsSync()) { |
65 if (filePat.hasMatch(path)) { | 65 if (filePat.hasMatch(path)) { |
66 files.add(path); | 66 files.add(path); |
67 } | 67 } |
68 } else { // Try treat it as a directory. | 68 } else { // Try treat it as a directory. |
69 path = makePathAbsolute(path); | 69 path = makePathAbsolute(path); |
70 Directory d = new Directory(path); | 70 Directory d = new Directory(path); |
71 if (d.existsSync()) { | 71 if (d.existsSync()) { |
72 ++dirCount; | 72 ++dirCount; |
73 var lister = d.list(recursive: recurse); | 73 d.list(recursive: recurse).listen( |
74 lister.onFile = (file) { | 74 (entity) { |
75 if (filePat.hasMatch(file)) { | 75 if (entity is File) { |
76 if (excludePat == null || !excludePat.hasMatch(file)) { | 76 var file = entity.name; |
77 if (includeSymLinks || file.startsWith(path)) { | 77 if (filePat.hasMatch(file)) { |
78 files.add(file); | 78 if (excludePat == null || !excludePat.hasMatch(file)) { |
| 79 if (includeSymLinks || file.startsWith(path)) { |
| 80 files.add(file); |
| 81 } |
| 82 } |
| 83 } |
79 } | 84 } |
80 } | 85 }, |
81 } | 86 onDone: () { |
82 }; | 87 if (complete && --dirCount == 0) { |
83 lister.onDone = (complete) { | 88 onComplete(files); |
84 if (complete && --dirCount == 0) { | 89 } |
85 onComplete(files); | 90 }); |
86 } | |
87 }; | |
88 } else { // Does not exist. | 91 } else { // Does not exist. |
89 print('$path does not exist.'); | 92 print('$path does not exist.'); |
90 } | 93 } |
91 } | 94 } |
92 } | 95 } |
93 if (--dirCount == 0) { | 96 if (--dirCount == 0) { |
94 onComplete(files); | 97 onComplete(files); |
95 } | 98 } |
96 } | 99 } |
97 | 100 |
98 /** | 101 /** |
99 * Get the directory that testrunner lives in; we need it to import | 102 * Get the directory that testrunner lives in; we need it to import |
100 * support files into the generated scripts. | 103 * support files into the generated scripts. |
101 */ | 104 */ |
102 | 105 |
103 String get runnerDirectory { | 106 String get runnerDirectory { |
104 var libDirectory = makePathAbsolute(new Options().script); | 107 var libDirectory = makePathAbsolute(new Options().script); |
105 return libDirectory.substring(0, | 108 return libDirectory.substring(0, |
106 libDirectory.lastIndexOf(Platform.pathSeparator)); | 109 libDirectory.lastIndexOf(Platform.pathSeparator)); |
107 } | 110 } |
OLD | NEW |