OLD | NEW |
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 // Testing file input stream, VM-only, standalone test. | 4 // Testing file input stream, VM-only, standalone test. |
5 | 5 |
6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
7 import "dart:io"; | 7 import "dart:io"; |
8 import "dart:isolate"; | 8 import "dart:isolate"; |
9 | 9 |
10 void testOpenOutputStreamSync() { | 10 void testOpenOutputStreamSync() { |
11 Directory tempDirectory = new Directory('').createTempSync(); | 11 Directory tempDirectory = new Directory('').createTempSync(); |
12 | 12 |
13 // Create a port for waiting on the final result of this test. | 13 // Create a port for waiting on the final result of this test. |
14 ReceivePort done = new ReceivePort(); | 14 ReceivePort done = new ReceivePort(); |
15 done.receive((message, replyTo) { | 15 done.receive((message, replyTo) { |
16 tempDirectory.deleteSync(); | 16 tempDirectory.deleteSync(); |
17 done.close(); | 17 done.close(); |
18 }); | 18 }); |
19 | 19 |
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 IOSink x = file.openWrite(); | 23 IOSink x = file.openWrite(); |
24 var data = [65, 66, 67]; | 24 var data = [65, 66, 67]; |
25 x.writeBytes(data); | 25 x.add(data); |
26 x.close(); | 26 x.close(); |
27 x.done.then((_) { | 27 x.done.then((_) { |
28 Expect.listEquals(file.readAsBytesSync(), data); | 28 Expect.listEquals(file.readAsBytesSync(), data); |
29 file.deleteSync(); | 29 file.deleteSync(); |
30 done.toSendPort().send("done"); | 30 done.toSendPort().send("done"); |
31 }); | 31 }); |
32 } | 32 } |
33 | 33 |
34 | 34 |
35 main() { | 35 main() { |
36 testOpenOutputStreamSync(); | 36 testOpenOutputStreamSync(); |
37 } | 37 } |
OLD | NEW |