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 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub | 5 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub |
6 /// tests are integration tests that stage some stuff on the file system, run | 6 /// tests are integration tests that stage some stuff on the file system, run |
7 /// pub, and then validate the results. This library provides an API to build | 7 /// pub, and then validate the results. This library provides an API to build |
8 /// tests like that. | 8 /// tests like that. |
9 library test_pub; | 9 library test_pub; |
10 | 10 |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 currentSchedule.onComplete.schedule(() => deleteEntry(_sandboxDir), | 265 currentSchedule.onComplete.schedule(() => deleteEntry(_sandboxDir), |
266 'deleting the sandbox directory'); | 266 'deleting the sandbox directory'); |
267 | 267 |
268 // Schedule the test. | 268 // Schedule the test. |
269 body(); | 269 body(); |
270 }); | 270 }); |
271 } | 271 } |
272 | 272 |
273 /// Get the path to the root "pub/test" directory containing the pub | 273 /// Get the path to the root "pub/test" directory containing the pub |
274 /// tests. | 274 /// tests. |
275 String get testDirectory { | 275 String get testDirectory => |
276 var dir = new Options().script; | 276 path.absolute(path.dirname(libraryPath('test_pub'))); |
277 while (path.basename(dir) != 'test') dir = path.dirname(dir); | |
278 | |
279 return path.absolute(dir); | |
280 } | |
281 | 277 |
282 /// Schedules renaming (moving) the directory at [from] to [to], both of which | 278 /// Schedules renaming (moving) the directory at [from] to [to], both of which |
283 /// are assumed to be relative to [sandboxDir]. | 279 /// are assumed to be relative to [sandboxDir]. |
284 void scheduleRename(String from, String to) { | 280 void scheduleRename(String from, String to) { |
285 schedule( | 281 schedule( |
286 () => renameDir( | 282 () => renameDir( |
287 path.join(sandboxDir, from), | 283 path.join(sandboxDir, from), |
288 path.join(sandboxDir, to)), | 284 path.join(sandboxDir, to)), |
289 'renaming $from to $to'); | 285 'renaming $from to $to'); |
290 } | 286 } |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 bool matches(item, MatchState matchState) { | 626 bool matches(item, MatchState matchState) { |
631 if (item is! Pair) return false; | 627 if (item is! Pair) return false; |
632 return _firstMatcher.matches(item.first, matchState) && | 628 return _firstMatcher.matches(item.first, matchState) && |
633 _lastMatcher.matches(item.last, matchState); | 629 _lastMatcher.matches(item.last, matchState); |
634 } | 630 } |
635 | 631 |
636 Description describe(Description description) { | 632 Description describe(Description description) { |
637 description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]); | 633 description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]); |
638 } | 634 } |
639 } | 635 } |
OLD | NEW |