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 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 import "dart:async"; | 6 import "dart:async"; |
7 import "dart:io"; | 7 import "dart:io"; |
8 import "dart:isolate"; | 8 import "dart:isolate"; |
9 | 9 |
10 class TestConsumer implements StreamConsumer { | 10 class TestConsumer implements StreamConsumer { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 sink = new IOSink(new TestConsumer([0, 1, 2])); | 58 sink = new IOSink(new TestConsumer([0, 1, 2])); |
59 sink.add([0]); | 59 sink.add([0]); |
60 sink.add([1]); | 60 sink.add([1]); |
61 sink.add([2]); | 61 sink.add([2]); |
62 sink.close(); | 62 sink.close(); |
63 } | 63 } |
64 | 64 |
65 void testAddStreamClose() { | 65 void testAddStreamClose() { |
66 { | 66 { |
67 var sink = new IOSink(new TestConsumer([0])); | 67 var sink = new IOSink(new TestConsumer([0])); |
68 var controller = new StreamController(); | 68 var controller = new StreamController(sync: true); |
69 sink.addStream(controller.stream) | 69 sink.addStream(controller.stream) |
70 .then((_) { | 70 .then((_) { |
71 sink.close(); | 71 sink.close(); |
72 }); | 72 }); |
73 controller.add([0]); | 73 controller.add([0]); |
74 controller.close(); | 74 controller.close(); |
75 } | 75 } |
76 { | 76 { |
77 var sink = new IOSink(new TestConsumer([0, 1, 2])); | 77 var sink = new IOSink(new TestConsumer([0, 1, 2])); |
78 var controller = new StreamController(); | 78 var controller = new StreamController(sync: true); |
79 sink.addStream(controller.stream) | 79 sink.addStream(controller.stream) |
80 .then((_) { | 80 .then((_) { |
81 sink.close(); | 81 sink.close(); |
82 }); | 82 }); |
83 controller.add([0]); | 83 controller.add([0]); |
84 controller.add([1]); | 84 controller.add([1]); |
85 controller.add([2]); | 85 controller.add([2]); |
86 controller.close(); | 86 controller.close(); |
87 } | 87 } |
88 } | 88 } |
89 | 89 |
90 void testAddStreamAddClose() { | 90 void testAddStreamAddClose() { |
91 { | 91 { |
92 var sink = new IOSink(new TestConsumer([0, 1])); | 92 var sink = new IOSink(new TestConsumer([0, 1])); |
93 var controller = new StreamController(); | 93 var controller = new StreamController(sync: true); |
94 sink.addStream(controller.stream) | 94 sink.addStream(controller.stream) |
95 .then((_) { | 95 .then((_) { |
96 sink.add([1]); | 96 sink.add([1]); |
97 sink.close(); | 97 sink.close(); |
98 }); | 98 }); |
99 controller.add([0]); | 99 controller.add([0]); |
100 controller.close(); | 100 controller.close(); |
101 } | 101 } |
102 } | 102 } |
103 | 103 |
104 void main() { | 104 void main() { |
105 testClose(); | 105 testClose(); |
106 testAddClose(); | 106 testAddClose(); |
107 testAddStreamClose(); | 107 testAddStreamClose(); |
108 testAddStreamAddClose(); | 108 testAddStreamAddClose(); |
109 } | 109 } |
OLD | NEW |