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

Side by Side Diff: tests/standalone/io/file_system_watcher_test.dart

Issue 25471003: Modify tests to use Directory.systemTemp (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/standalone/io/file_system_links_test.dart ('k') | tests/standalone/io/file_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 import "dart:async"; 5 import "dart:async";
6 import "dart:io"; 6 import "dart:io";
7 7
8 import "package:async_helper/async_helper.dart"; 8 import "package:async_helper/async_helper.dart";
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 10
11 11
12 void testWatchCreateFile() { 12 void testWatchCreateFile() {
13 var dir = new Directory('').createTempSync(); 13 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
14 var file = new File(dir.path + '/file'); 14 var file = new File(dir.path + '/file');
15 15
16 var watcher = dir.watch(); 16 var watcher = dir.watch();
17 17
18 asyncStart(); 18 asyncStart();
19 var sub; 19 var sub;
20 sub = watcher.listen((event) { 20 sub = watcher.listen((event) {
21 if (event is FileSystemCreateEvent && 21 if (event is FileSystemCreateEvent &&
22 event.path.endsWith('file')) { 22 event.path.endsWith('file')) {
23 asyncEnd(); 23 asyncEnd();
24 sub.cancel(); 24 sub.cancel();
25 dir.deleteSync(recursive: true); 25 dir.deleteSync(recursive: true);
26 } 26 }
27 }, onError: (e) { 27 }, onError: (e) {
28 dir.deleteSync(recursive: true); 28 dir.deleteSync(recursive: true);
29 throw e; 29 throw e;
30 }); 30 });
31 31
32 file.createSync(); 32 file.createSync();
33 } 33 }
34 34
35 35
36 void testWatchModifyFile() { 36 void testWatchModifyFile() {
37 var dir = new Directory('').createTempSync(); 37 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
38 var file = new File(dir.path + '/file'); 38 var file = new File(dir.path + '/file');
39 file.createSync(); 39 file.createSync();
40 40
41 var watcher = dir.watch(); 41 var watcher = dir.watch();
42 42
43 asyncStart(); 43 asyncStart();
44 var sub; 44 var sub;
45 sub = watcher.listen((event) { 45 sub = watcher.listen((event) {
46 if (event is FileSystemModifyEvent) { 46 if (event is FileSystemModifyEvent) {
47 Expect.isTrue(event.path.endsWith('file')); 47 Expect.isTrue(event.path.endsWith('file'));
48 sub.cancel(); 48 sub.cancel();
49 asyncEnd(); 49 asyncEnd();
50 dir.deleteSync(recursive: true); 50 dir.deleteSync(recursive: true);
51 } 51 }
52 }, onError: (e) { 52 }, onError: (e) {
53 dir.deleteSync(recursive: true); 53 dir.deleteSync(recursive: true);
54 throw e; 54 throw e;
55 }); 55 });
56 56
57 file.writeAsStringSync('a'); 57 file.writeAsStringSync('a');
58 } 58 }
59 59
60 60
61 void testWatchMoveFile() { 61 void testWatchMoveFile() {
62 var dir = new Directory('').createTempSync(); 62 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
63 var file = new File(dir.path + '/file'); 63 var file = new File(dir.path + '/file');
64 file.createSync(); 64 file.createSync();
65 65
66 var watcher = dir.watch(); 66 var watcher = dir.watch();
67 67
68 asyncStart(); 68 asyncStart();
69 var sub; 69 var sub;
70 sub = watcher.listen((event) { 70 sub = watcher.listen((event) {
71 if (event is FileSystemMoveEvent) { 71 if (event is FileSystemMoveEvent) {
72 Expect.isTrue(event.path.endsWith('file')); 72 Expect.isTrue(event.path.endsWith('file'));
73 if (event.destination != null) { 73 if (event.destination != null) {
74 Expect.isTrue(event.destination.endsWith('file2')); 74 Expect.isTrue(event.destination.endsWith('file2'));
75 } 75 }
76 sub.cancel(); 76 sub.cancel();
77 asyncEnd(); 77 asyncEnd();
78 dir.deleteSync(recursive: true); 78 dir.deleteSync(recursive: true);
79 } 79 }
80 }, onError: (e) { 80 }, onError: (e) {
81 dir.deleteSync(recursive: true); 81 dir.deleteSync(recursive: true);
82 throw e; 82 throw e;
83 }); 83 });
84 84
85 file.renameSync(dir.path + '/file2'); 85 file.renameSync(dir.path + '/file2');
86 } 86 }
87 87
88 88
89 void testWatchDeleteFile() { 89 void testWatchDeleteFile() {
90 var dir = new Directory('').createTempSync(); 90 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
91 var file = new File(dir.path + '/file'); 91 var file = new File(dir.path + '/file');
92 file.createSync(); 92 file.createSync();
93 93
94 var watcher = dir.watch(); 94 var watcher = dir.watch();
95 95
96 asyncStart(); 96 asyncStart();
97 var sub; 97 var sub;
98 sub = watcher.listen((event) { 98 sub = watcher.listen((event) {
99 if (event is FileSystemDeleteEvent) { 99 if (event is FileSystemDeleteEvent) {
100 Expect.isTrue(event.path.endsWith('file')); 100 Expect.isTrue(event.path.endsWith('file'));
101 sub.cancel(); 101 sub.cancel();
102 asyncEnd(); 102 asyncEnd();
103 dir.deleteSync(recursive: true); 103 dir.deleteSync(recursive: true);
104 } 104 }
105 }, onError: (e) { 105 }, onError: (e) {
106 dir.deleteSync(recursive: true); 106 dir.deleteSync(recursive: true);
107 throw e; 107 throw e;
108 }); 108 });
109 109
110 file.deleteSync(); 110 file.deleteSync();
111 } 111 }
112 112
113 113
114 void testWatchOnlyModifyFile() { 114 void testWatchOnlyModifyFile() {
115 var dir = new Directory('').createTempSync(); 115 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
116 var file = new File(dir.path + '/file'); 116 var file = new File(dir.path + '/file');
117 117
118 var watcher = dir.watch(events: FileSystemEvent.MODIFY); 118 var watcher = dir.watch(events: FileSystemEvent.MODIFY);
119 119
120 asyncStart(); 120 asyncStart();
121 var sub; 121 var sub;
122 sub = watcher.listen((event) { 122 sub = watcher.listen((event) {
123 Expect.isTrue(event is FileSystemModifyEvent); 123 Expect.isTrue(event is FileSystemModifyEvent);
124 Expect.isTrue(event.path.endsWith('file')); 124 Expect.isTrue(event.path.endsWith('file'));
125 sub.cancel(); 125 sub.cancel();
126 asyncEnd(); 126 asyncEnd();
127 dir.deleteSync(recursive: true); 127 dir.deleteSync(recursive: true);
128 }, onError: (e) { 128 }, onError: (e) {
129 dir.deleteSync(recursive: true); 129 dir.deleteSync(recursive: true);
130 throw e; 130 throw e;
131 }); 131 });
132 132
133 file.createSync(); 133 file.createSync();
134 file.writeAsStringSync('a'); 134 file.writeAsStringSync('a');
135 } 135 }
136 136
137 137
138 void testMultipleEvents() { 138 void testMultipleEvents() {
139 var dir = new Directory('').createTempSync(); 139 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
140 var file = new File(dir.path + '/file'); 140 var file = new File(dir.path + '/file');
141 var file2 = new File(dir.path + '/file2'); 141 var file2 = new File(dir.path + '/file2');
142 142
143 var watcher = dir.watch(); 143 var watcher = dir.watch();
144 144
145 asyncStart(); 145 asyncStart();
146 int state = 0; 146 int state = 0;
147 var sub; 147 var sub;
148 sub = watcher.listen((event) { 148 sub = watcher.listen((event) {
149 int newState = 0; 149 int newState = 0;
(...skipping 24 matching lines...) Expand all
174 }); 174 });
175 175
176 file.createSync(); 176 file.createSync();
177 file.writeAsStringSync('a'); 177 file.writeAsStringSync('a');
178 file.renameSync(file2.path); 178 file.renameSync(file2.path);
179 file2.deleteSync(); 179 file2.deleteSync();
180 } 180 }
181 181
182 182
183 void testWatchRecursive() { 183 void testWatchRecursive() {
184 var dir = new Directory('').createTempSync(); 184 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
185 if (Platform.isLinux) { 185 if (Platform.isLinux) {
186 Expect.throws(() => dir.watch(recursive: true)); 186 Expect.throws(() => dir.watch(recursive: true));
187 return; 187 return;
188 } 188 }
189 var dir2 = new Directory(dir.path + '/dir'); 189 var dir2 = new Directory(dir.path + '/dir');
190 dir2.createSync(); 190 dir2.createSync();
191 var file = new File(dir.path + '/dir/file'); 191 var file = new File(dir.path + '/dir/file');
192 192
193 var watcher = dir.watch(recursive: true); 193 var watcher = dir.watch(recursive: true);
194 194
195 asyncStart(); 195 asyncStart();
196 var sub; 196 var sub;
197 sub = watcher.listen((event) { 197 sub = watcher.listen((event) {
198 if (event.path.endsWith('file')) { 198 if (event.path.endsWith('file')) {
199 sub.cancel(); 199 sub.cancel();
200 asyncEnd(); 200 asyncEnd();
201 dir.deleteSync(recursive: true); 201 dir.deleteSync(recursive: true);
202 } 202 }
203 }, onError: (e) { 203 }, onError: (e) {
204 dir.deleteSync(recursive: true); 204 dir.deleteSync(recursive: true);
205 throw e; 205 throw e;
206 }); 206 });
207 207
208 file.createSync(); 208 file.createSync();
209 } 209 }
210 210
211 211
212 void testWatchNonRecursive() { 212 void testWatchNonRecursive() {
213 var dir = new Directory('').createTempSync(); 213 var dir = Directory.systemTemp.createTempSync('dart_file_system_watcher');
214 var dir2 = new Directory(dir.path + '/dir'); 214 var dir2 = new Directory(dir.path + '/dir');
215 dir2.createSync(); 215 dir2.createSync();
216 var file = new File(dir.path + '/dir/file'); 216 var file = new File(dir.path + '/dir/file');
217 217
218 var watcher = dir.watch(recursive: false); 218 var watcher = dir.watch(recursive: false);
219 219
220 asyncStart(); 220 asyncStart();
221 var sub; 221 var sub;
222 sub = watcher.listen((event) { 222 sub = watcher.listen((event) {
223 if (event.path.endsWith('file')) { 223 if (event.path.endsWith('file')) {
(...skipping 17 matching lines...) Expand all
241 void main() { 241 void main() {
242 if (!FileSystemEntity.isWatchSupported) return; 242 if (!FileSystemEntity.isWatchSupported) return;
243 testWatchCreateFile(); 243 testWatchCreateFile();
244 testWatchModifyFile(); 244 testWatchModifyFile();
245 testWatchMoveFile(); 245 testWatchMoveFile();
246 testWatchDeleteFile(); 246 testWatchDeleteFile();
247 testWatchOnlyModifyFile(); 247 testWatchOnlyModifyFile();
248 testMultipleEvents(); 248 testMultipleEvents();
249 testWatchNonRecursive(); 249 testWatchNonRecursive();
250 } 250 }
OLDNEW
« no previous file with comments | « tests/standalone/io/file_system_links_test.dart ('k') | tests/standalone/io/file_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698