Chromium Code Reviews| Index: pkg/watcher/lib/src/stat.dart |
| diff --git a/pkg/watcher/lib/src/stat.dart b/pkg/watcher/lib/src/stat.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..26d859f5b036c09d2cb61fd13f0cb31df4792ff8 |
| --- /dev/null |
| +++ b/pkg/watcher/lib/src/stat.dart |
| @@ -0,0 +1,31 @@ |
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +library watcher.stat; |
| + |
| +import 'dart:async'; |
| +import 'dart:io'; |
| + |
| +typedef DateTime MockTimeCallback(String path); |
|
nweiz
2013/07/11 00:25:01
Document this.
Bob Nystrom
2013/07/11 18:33:20
Done.
|
| + |
| +MockTimeCallback _mockTimeCallback; |
| + |
| +/// Overrided the default behavior for accessing a file's modification time with |
|
nweiz
2013/07/11 00:25:01
"Overrided" -> "Override"
Bob Nystrom
2013/07/11 18:33:20
"Overrides". Done.
|
| +/// [callback]. |
| +/// |
| +/// The OS file modification time has pretty rough granularity (like a few |
| +/// seconds) which can make for slow tests that rely on modtime. This lets you |
| +/// replace it with something you control. |
| +void mockGetModificationTime(MockTimeCallback callback) { |
| + _mockTimeCallback = callback; |
| +} |
| + |
| +/// Gets the modification time for the file at [path]. |
| +Future<DateTime> getModificationTime(String path) { |
| + if (_mockTimeCallback != null) { |
| + return new Future.value(_mockTimeCallback(path)); |
| + } |
| + |
| + return FileStat.stat(path).then((stat) => stat.modified); |
| +} |