Index: tests/lib_strong/async/stream_periodic6_test.dart |
diff --git a/tests/lib_strong/async/stream_periodic6_test.dart b/tests/lib_strong/async/stream_periodic6_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1d4ffa332b05adc41b2fd3dfe73eaef735d2c1e5 |
--- /dev/null |
+++ b/tests/lib_strong/async/stream_periodic6_test.dart |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+// Test merging streams. |
+library dart.test.stream_from_iterable; |
+ |
+import "dart:async"; |
+import 'package:unittest/unittest.dart'; |
+ |
+main() { |
+ test("stream-periodic1", () { |
+ Stream stream = new Stream.periodic(const Duration(milliseconds: 1), |
+ (i) { |
+ if (i == 3) throw 42; |
+ return i; |
+ }); |
+ int expected = 0; |
+ var subscription; |
+ subscription = stream.listen(expectAsync((data) { |
+ expect(data, expected++); |
+ if (expected == 5) subscription.cancel(); |
+ }, count: 4), |
+ onError: expectAsync((e, s) { |
+ expect(e, 42); |
+ expected++; |
+ })); |
+ }); |
+} |