Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Unified Diff: packages/watcher/test/directory_watcher/mac_os_test.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: packages/watcher/test/directory_watcher/mac_os_test.dart
diff --git a/packages/watcher/test/directory_watcher/mac_os_test.dart b/packages/watcher/test/directory_watcher/mac_os_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..2c82f34c5db1b5b7ccd32e4223fe528d6df8ebda
--- /dev/null
+++ b/packages/watcher/test/directory_watcher/mac_os_test.dart
@@ -0,0 +1,59 @@
+// 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.
+
+@TestOn('mac-os')
+
+import 'package:scheduled_test/scheduled_test.dart';
+import 'package:watcher/src/directory_watcher/mac_os.dart';
+import 'package:watcher/watcher.dart';
+
+import 'shared.dart';
+import '../utils.dart';
+
+void main() {
+ watcherFactory = (dir) => new MacOSDirectoryWatcher(dir);
+
+ setUp(createSandbox);
+
+ sharedTests();
+
+ test('DirectoryWatcher creates a MacOSDirectoryWatcher on Mac OS', () {
+ expect(new DirectoryWatcher('.'),
+ new isInstanceOf<MacOSDirectoryWatcher>());
+ });
+
+ test('does not notify about the watched directory being deleted and '
+ 'recreated immediately before watching', () {
+ createDir("dir");
+ writeFile("dir/old.txt");
+ deleteDir("dir");
+ createDir("dir");
+
+ startWatcher(path: "dir");
+ writeFile("dir/newer.txt");
+ expectAddEvent("dir/newer.txt");
+ });
+
+ test('emits events for many nested files moved out then immediately back in',
+ () {
+ withPermutations((i, j, k) =>
+ writeFile("dir/sub/sub-$i/sub-$j/file-$k.txt"));
+
+ startWatcher(path: "dir");
+
+ renameDir("dir/sub", "sub");
+ renameDir("sub", "dir/sub");
+
+ allowEither(() {
+ inAnyOrder(withPermutations((i, j, k) =>
+ isRemoveEvent("dir/sub/sub-$i/sub-$j/file-$k.txt")));
+
+ inAnyOrder(withPermutations((i, j, k) =>
+ isAddEvent("dir/sub/sub-$i/sub-$j/file-$k.txt")));
+ }, () {
+ inAnyOrder(withPermutations((i, j, k) =>
+ isModifyEvent("dir/sub/sub-$i/sub-$j/file-$k.txt")));
+ });
+ });
+}
« no previous file with comments | « packages/watcher/test/directory_watcher/linux_test.dart ('k') | packages/watcher/test/directory_watcher/polling_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698