OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 // Testing file input stream, VM-only, standalone test. | 4 // Testing file input stream, VM-only, standalone test. |
5 | 5 |
6 #import("dart:io"); | 6 #import("dart:io"); |
7 #import("dart:isolate"); | 7 #import("dart:isolate"); |
8 | 8 |
9 void testOpenOutputStreamSync() { | 9 void testOpenOutputStreamSync() { |
10 Directory tempDirectory = new Directory(''); | 10 Directory tempDirectory = new Directory(''); |
11 | 11 |
12 // Create a port for waiting on the final result of this test. | 12 // Create a port for waiting on the final result of this test. |
13 ReceivePort done = new ReceivePort(); | 13 ReceivePort done = new ReceivePort(); |
14 done.receive((message, replyTo) { | 14 done.receive((message, replyTo) { |
15 tempDirectory.deleteSync(); | 15 tempDirectory.deleteSync(); |
16 done.close(); | 16 done.close(); |
17 }); | 17 }); |
18 | 18 |
19 tempDirectory.createTempSync(); | 19 tempDirectory.createTempSync(); |
20 String fileName = "${tempDirectory.path}/test"; | 20 String fileName = "${tempDirectory.path}/test"; |
21 File file = new File(fileName); | 21 File file = new File(fileName); |
22 file.createSync(); | 22 file.createSync(); |
23 OutputStream x = file.openOutputStream(); | 23 OutputStream x = file.openOutputStream(); |
24 x.write([65, 66, 67]); | 24 x.write([65, 66, 67]); |
25 x.close(); | 25 x.close(); |
26 x.closeHandler = () { | 26 x.onClose = () { |
27 file.deleteSync(); | 27 file.deleteSync(); |
28 done.toSendPort().send("done"); | 28 done.toSendPort().send("done"); |
29 }; | 29 }; |
30 } | 30 } |
31 | 31 |
32 | 32 |
33 void testOutputStreamNoPendingWrite() { | 33 void testOutputStreamNoPendingWrite() { |
34 Directory tempDirectory = new Directory(''); | 34 Directory tempDirectory = new Directory(''); |
35 | 35 |
36 // Create a port for waiting on the final result of this test. | 36 // Create a port for waiting on the final result of this test. |
37 ReceivePort done = new ReceivePort(); | 37 ReceivePort done = new ReceivePort(); |
38 done.receive((message, replyTo) { | 38 done.receive((message, replyTo) { |
39 tempDirectory.delete(); | 39 tempDirectory.delete(); |
40 tempDirectory.deleteHandler = () { | 40 tempDirectory.onDelete = () { |
41 done.close(); | 41 done.close(); |
42 }; | 42 }; |
43 }); | 43 }); |
44 | 44 |
45 tempDirectory.createTemp(); | 45 tempDirectory.createTemp(); |
46 tempDirectory.createTempHandler = () { | 46 tempDirectory.onCreateTemp = () { |
47 String fileName = "${tempDirectory.path}/test"; | 47 String fileName = "${tempDirectory.path}/test"; |
48 File file = new File(fileName); | 48 File file = new File(fileName); |
49 file.create(); | 49 file.create(); |
50 file.createHandler = () { | 50 file.onCreate = () { |
51 OutputStream stream = file.openOutputStream(); | 51 OutputStream stream = file.openOutputStream(); |
52 final total = 100; | 52 final total = 100; |
53 var count = 0; | 53 var count = 0; |
54 stream.noPendingWriteHandler = () { | 54 stream.onNoPendingWrite = () { |
55 stream.write([count++]); | 55 stream.write([count++]); |
56 if (count == total) { | 56 if (count == total) { |
57 stream.close(); | 57 stream.close(); |
58 } | 58 } |
59 stream.closeHandler = () { | 59 stream.onClose = () { |
60 List buffer = new List<int>(total); | 60 List buffer = new List<int>(total); |
61 File fileSync = new File(fileName); | 61 File fileSync = new File(fileName); |
62 var openedFile = fileSync.openSync(); | 62 var openedFile = fileSync.openSync(); |
63 openedFile.readListSync(buffer, 0, total); | 63 openedFile.readListSync(buffer, 0, total); |
64 for (var i = 0; i < total; i++) { | 64 for (var i = 0; i < total; i++) { |
65 Expect.equals(i, buffer[i]); | 65 Expect.equals(i, buffer[i]); |
66 } | 66 } |
67 openedFile.closeSync(); | 67 openedFile.closeSync(); |
68 fileSync.deleteSync(); | 68 fileSync.deleteSync(); |
69 done.toSendPort().send("done"); | 69 done.toSendPort().send("done"); |
70 }; | 70 }; |
71 }; | 71 }; |
72 }; | 72 }; |
73 }; | 73 }; |
74 } | 74 } |
75 | 75 |
76 | 76 |
77 main() { | 77 main() { |
78 testOpenOutputStreamSync(); | 78 testOpenOutputStreamSync(); |
79 testOutputStreamNoPendingWrite(); | 79 testOutputStreamNoPendingWrite(); |
80 } | 80 } |
OLD | NEW |