Another attempt to make the test work cross platform
diff --git a/pkgs/watcher/test/custom_watcher_factory_test.dart b/pkgs/watcher/test/custom_watcher_factory_test.dart
index 6d9ed40..964a49d 100644
--- a/pkgs/watcher/test/custom_watcher_factory_test.dart
+++ b/pkgs/watcher/test/custom_watcher_factory_test.dart
@@ -3,6 +3,8 @@
import 'package:test/test.dart';
import 'package:watcher/watcher.dart';
+import 'utils.dart';
+
void main() {
_MemFs memFs;
final defaultFactoryId = 'MemFs';
@@ -45,16 +47,18 @@
test('unregister works', () async {
unregisterCustomWatcherFactory(defaultFactoryId);
- var events = <WatchEvent>[];
- var watcher = FileWatcher('file.txt');
- watcher.events.listen((e) => events.add(e));
- await watcher.ready;
- memFs.add('a.txt');
- memFs.add('b.txt');
- memFs.add('c.txt');
- await Future.delayed(Duration(seconds: 1));
+ watcherFactory = (path) => FileWatcher(path);
+ try {
+ // This uses standard files, so it wouldn't trigger an event in
+ // _MemFsWatcher.
+ writeFile('file.txt');
+ await startWatcher(path: 'file.txt');
+ deleteFile('file.txt');
+ } finally {
+ watcherFactory = null;
+ }
- expect(events, isEmpty);
+ await expectRemoveEvent('file.txt');
});
test('registering twice throws', () async {