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

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

Issue 12812010: dart:io | Add Link.targetSync on all platforms. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Improve error handling on Windows. Created 7 years, 9 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
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:io"; 5 import "dart:io";
6 import "dart:isolate"; 6 import "dart:isolate";
7 7
8 8
9 createLink(String dst, String link, void callback()) { 9 createLink(String dst, String link, void callback()) {
10 new Link(link).create(dst).then((_) => callback()); 10 new Link(link).create(dst).then((_) => callback());
11 } 11 }
12 12
13 13
14 testFileExistsCreate() { 14 testFileExistsCreate() {
15 var temp = new Directory('').createTempSync(); 15 var temp = new Directory('').createTempSync();
16 var x = '${temp.path}${Platform.pathSeparator}x'; 16 var x = '${temp.path}${Platform.pathSeparator}x';
17 var y = '${temp.path}${Platform.pathSeparator}y'; 17 var y = '${temp.path}${Platform.pathSeparator}y';
18 createLink(x, y, () { 18 createLink(x, y, () {
19 Expect.isFalse(new File(y).existsSync()); 19 Expect.isFalse(new File(y).existsSync());
20 Expect.isFalse(new File(x).existsSync()); 20 Expect.isFalse(new File(x).existsSync());
21 Expect.isTrue(FileSystemEntity.isLinkSync(y)); 21 Expect.isTrue(FileSystemEntity.isLinkSync(y));
22 Expect.isFalse(FileSystemEntity.isLinkSync(x)); 22 Expect.isFalse(FileSystemEntity.isLinkSync(x));
23 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(y)); 23 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(y));
24 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(x)); 24 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(x));
25 Expect.equals(FileSystemEntityType.LINK, 25 Expect.equals(FileSystemEntityType.LINK,
26 FileSystemEntity.typeSync(y, followLinks: false)); 26 FileSystemEntity.typeSync(y, followLinks: false));
27 Expect.equals(FileSystemEntityType.NOT_FOUND, 27 Expect.equals(FileSystemEntityType.NOT_FOUND,
28 FileSystemEntity.typeSync(x, followLinks: false)); 28 FileSystemEntity.typeSync(x, followLinks: false));
29 Expect.equals(x, new Link(y).targetSync());
29 30
30 new File(y).createSync(); 31 new File(y).createSync();
31 Expect.isTrue(new File(y).existsSync()); 32 Expect.isTrue(new File(y).existsSync());
32 Expect.isTrue(new File(x).existsSync()); 33 Expect.isTrue(new File(x).existsSync());
33 Expect.isTrue(FileSystemEntity.isLinkSync(y)); 34 Expect.isTrue(FileSystemEntity.isLinkSync(y));
34 Expect.isFalse(FileSystemEntity.isLinkSync(x)); 35 Expect.isFalse(FileSystemEntity.isLinkSync(x));
35 Expect.isTrue(FileSystemEntity.isFileSync(y)); 36 Expect.isTrue(FileSystemEntity.isFileSync(y));
36 Expect.isTrue(FileSystemEntity.isFileSync(x)); 37 Expect.isTrue(FileSystemEntity.isFileSync(x));
37 Expect.equals(FileSystemEntityType.FILE, FileSystemEntity.typeSync(y)); 38 Expect.equals(FileSystemEntityType.FILE, FileSystemEntity.typeSync(y));
38 Expect.equals(FileSystemEntityType.FILE, FileSystemEntity.typeSync(x)); 39 Expect.equals(FileSystemEntityType.FILE, FileSystemEntity.typeSync(x));
39 Expect.equals(FileSystemEntityType.LINK, 40 Expect.equals(FileSystemEntityType.LINK,
40 FileSystemEntity.typeSync(y, followLinks: false)); 41 FileSystemEntity.typeSync(y, followLinks: false));
41 Expect.equals(FileSystemEntityType.FILE, 42 Expect.equals(FileSystemEntityType.FILE,
42 FileSystemEntity.typeSync(x, followLinks: false)); 43 FileSystemEntity.typeSync(x, followLinks: false));
44 Expect.equals(x, new Link(y).targetSync());
45
43 new File(x).deleteSync(); 46 new File(x).deleteSync();
44 new Directory(x).createSync(); 47 new Directory(x).createSync();
45 Expect.isTrue(FileSystemEntity.isLinkSync(y)); 48 Expect.isTrue(FileSystemEntity.isLinkSync(y));
46 Expect.isFalse(FileSystemEntity.isLinkSync(x)); 49 Expect.isFalse(FileSystemEntity.isLinkSync(x));
47 Expect.isTrue(FileSystemEntity.isDirectorySync(y)); 50 Expect.isTrue(FileSystemEntity.isDirectorySync(y));
48 Expect.isTrue(FileSystemEntity.isDirectorySync(x)); 51 Expect.isTrue(FileSystemEntity.isDirectorySync(x));
49 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(y)); 52 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(y));
50 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(x)); 53 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(x));
51 Expect.equals(FileSystemEntityType.LINK, 54 Expect.equals(FileSystemEntityType.LINK,
52 FileSystemEntity.typeSync(y, followLinks: false)); 55 FileSystemEntity.typeSync(y, followLinks: false));
53 Expect.equals(FileSystemEntityType.DIRECTORY, 56 Expect.equals(FileSystemEntityType.DIRECTORY,
54 FileSystemEntity.typeSync(x, followLinks: false)); 57 FileSystemEntity.typeSync(x, followLinks: false));
58 Expect.equals(x, new Link(y).targetSync());
59
55 new File(y).deleteSync(); 60 new File(y).deleteSync();
56 Expect.isFalse(FileSystemEntity.isLinkSync(y)); 61 Expect.isFalse(FileSystemEntity.isLinkSync(y));
57 Expect.isFalse(FileSystemEntity.isLinkSync(x)); 62 Expect.isFalse(FileSystemEntity.isLinkSync(x));
58 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(y)); 63 Expect.equals(FileSystemEntityType.NOT_FOUND, FileSystemEntity.typeSync(y));
59 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(x)); 64 Expect.equals(FileSystemEntityType.DIRECTORY, FileSystemEntity.typeSync(x));
65 Expect.throws(() => new Link(y).targetSync());
60 66
61 temp.deleteSync(recursive: true); 67 temp.deleteSync(recursive: true);
62 }); 68 });
63 } 69 }
64 70
65 71
66 testFileDelete() { 72 testFileDelete() {
67 var temp = new Directory('').createTempSync(); 73 var temp = new Directory('').createTempSync();
68 var x = '${temp.path}${Platform.pathSeparator}x'; 74 var x = '${temp.path}${Platform.pathSeparator}x';
69 var y = '${temp.path}${Platform.pathSeparator}y'; 75 var y = '${temp.path}${Platform.pathSeparator}y';
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 236
231 main() { 237 main() {
232 testFileExistsCreate(); 238 testFileExistsCreate();
233 testFileDelete(); 239 testFileDelete();
234 testFileWriteRead(); 240 testFileWriteRead();
235 testDirectoryExistsCreate(); 241 testDirectoryExistsCreate();
236 testDirectoryDelete(); 242 testDirectoryDelete();
237 testDirectoryListing(); 243 testDirectoryListing();
238 testDirectoryListingBrokenLink(); 244 testDirectoryListingBrokenLink();
239 } 245 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698