| Index: tests/language/sync_generator2_test.dart
|
| ===================================================================
|
| --- tests/language/sync_generator2_test.dart (revision 0)
|
| +++ tests/language/sync_generator2_test.dart (working copy)
|
| @@ -0,0 +1,64 @@
|
| +// 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.
|
| +
|
| +// Simple test program for sync* generator functions.
|
| +
|
| +import "package:expect/expect.dart";
|
| +import "dart:async";
|
| +
|
| +var sync = "topLevelSync";
|
| +var async = "topLevelAync";
|
| +var await = "topLevelAwait";
|
| +var yield = "topLevelYield";
|
| +
|
| +test01() sync* {
|
| + var yield = 0; /// 01: compile-time error
|
| + var await = 0; /// 02: compile-time error
|
| + var async = 0; /// 03: compile-time error
|
| + bool yield() => false; /// 04: compile-time error
|
| + bool await() => false; /// 05: compile-time error
|
| + bool async() => false; /// 06: compile-time error
|
| +
|
| + var x1 = sync;
|
| + var x2 = async; /// 07: compile-time error
|
| + var x3 = await; /// 08: compile-time error
|
| + var x4 = await 55; /// 09: compile-time error
|
| + var x4 = yield; /// 10: compile-time error
|
| +
|
| + var stream = new Stream.fromIterable([1, 2, 3]);
|
| + await for (var e in stream) print(e); /// 11: compile-time error
|
| +}
|
| +
|
| +test02() sync* {
|
| + yield 12321;
|
| + return null; /// 20: compile-time error
|
| +}
|
| +
|
| +test03() sync* => null; /// 30: compile-time error
|
| +
|
| +get test04 sync* => null; /// 40: compile-time error
|
| +set test04(a) sync* { print(a); } /// 41: compile-time error
|
| +
|
| +class K {
|
| + K() sync* {}; /// 50: compile-time error
|
| + get nix sync* { }
|
| + get garnix sync* => null; /// 51: compile-time error
|
| + set etwas(var z) sync* { } /// 52: compile-time error
|
| + sync() sync* {
|
| + yield sync; // Yields a tear-off of the sync() method.
|
| + }
|
| +}
|
| +
|
| +main() {
|
| + var x;
|
| + x = test01();
|
| + Expect.equals("()", x.toString());
|
| + x = test02();
|
| + Expect.equals("(12321)", x.toString());
|
| + x = test04; /// 40: continued
|
| + test04 = x; /// 41: continued
|
| + x = new K();
|
| + Expect.equals(1, x.sync().length);
|
| + Expect.isTrue(x.sync().single is Function);
|
| +}
|
|
|