// 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. // Tests the StreamView class. import "package:expect/expect.dart"; import "dart:async"; import "package:expect/async_helper.dart"; main() { asyncStart(); runTest().whenComplete(asyncEnd); } Future runTest() async { unreachable([a, b]) { throw "UNREACHABLE"; } int tick = 0; ticker() { tick++; } asyncStart(); // Is const constructor. Stream s = const StreamView(const Stream.empty()); Expect.isFalse(s is Stream); // Respects type parameter. StreamSubscription sub = s.listen( unreachable, onError: unreachable, onDone: ticker, ); Expect.isFalse(sub is StreamSubscription); // Type parameter in sub. Stream iterableStream = new Stream.fromIterable([1, 2, 3]); Expect.listEquals([1, 2, 3], await iterableStream.toList()); asyncEnd(); } Future flushMicrotasks() => new Future.delayed(Duration.zero);