Index: test/codegen/syncstar_yieldstar_test.dart |
diff --git a/test/codegen/syncstar_yieldstar_test.dart b/test/codegen/syncstar_yieldstar_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..008249d2b757256bf49f6911d611ae75c5b17fba |
--- /dev/null |
+++ b/test/codegen/syncstar_yieldstar_test.dart |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2015, 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. |
+ |
+// TODO(jmesserly): this is a copy of the language test of the same name, |
+// we can remove this copy when we're running against those tests. |
+import "expect.dart"; |
+ |
+bar() sync* { |
+ int i = 1; |
+ int j = 1; |
+ while (true) { |
+ yield i; |
+ j = i + j; |
+ i = j - i; |
+ } |
+} |
+ |
+foo() sync* { |
+ yield* [1, 2, 3]; |
+ yield null; |
+ // TODO(jmesserly): added cast here to work around: |
+ // https://codereview.chromium.org/1213503002/ |
+ yield* bar() as Iterable; |
+} |
+ |
+main () async { |
+ Expect.listEquals([1, 2, 3, null, 1, 1, 2, 3, 5], foo().take(9).toList()); |
+} |