OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 import "package:expect/expect.dart"; | |
6 import "dart:async"; | |
7 import "dart:convert"; | |
8 import "dart:io"; | |
9 | |
10 callIOSink(IOSink sink) { | |
11 // Call all methods on IOSink. | |
12 sink.encoding = ASCII; | |
13 Expect.equals(ASCII, sink.encoding); | |
14 sink.write("Hello\n"); | |
15 sink.writeln("Hello"); | |
16 sink.writeAll(["H", "e", "l", "lo\n"]); | |
17 sink.writeCharCode(72); | |
18 sink.add([101, 108, 108, 111, 10]); | |
19 | |
20 var controller = new StreamController(sync: true); | |
21 var future = sink.addStream(controller.stream); | |
22 controller.add([72, 101, 108]); | |
23 controller.add([108, 111, 10]); | |
24 controller.close(); | |
25 | |
26 future.then((_) { | |
27 controller = new StreamController(sync: true); | |
28 controller.stream.pipe(sink); | |
29 controller.add([72, 101, 108]); | |
30 controller.add([108, 111, 10]); | |
31 controller.close(); | |
32 }); | |
33 } | |
34 | |
35 main() { | |
36 callIOSink(stdout.nonBlocking); | |
37 stdout.nonBlocking.done.then((_) { | |
38 callIOSink(stderr.nonBlocking); | |
39 stderr.nonBlocking.done.then((_) { | |
40 stdout.close(); | |
41 stderr.close(); | |
42 }); | |
43 }); | |
44 } | |
OLD | NEW |