mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 10:49:00 +00:00
Use internal const-constructor.
BUG= http://dartbug.com/25760 R=lrn@google.com Review URL: https://codereview.chromium.org/1696453002 .
This commit is contained in:
parent
b0719aa402
commit
257272fd42
3 changed files with 40 additions and 1 deletions
|
@ -17,6 +17,8 @@
|
|||
The method now only supports one argument for the PEM file name containing
|
||||
the trusted certificates.
|
||||
* Added support to SecurityContext for PKCS12 certificate and key containers.
|
||||
* `dart:async`
|
||||
* Made `StreamView` class a `const` class.
|
||||
|
||||
## 1.14.2 - 2016-02-09
|
||||
|
||||
|
|
|
@ -1495,7 +1495,7 @@ abstract class EventSink<T> implements Sink<T> {
|
|||
class StreamView<T> extends Stream<T> {
|
||||
final Stream<T> _stream;
|
||||
|
||||
StreamView(this._stream);
|
||||
const StreamView(Stream<T> stream) : _stream = stream, super._internal();
|
||||
|
||||
bool get isBroadcast => _stream.isBroadcast;
|
||||
|
||||
|
|
37
tests/lib/async/stream_view_test.dart
Normal file
37
tests/lib/async/stream_view_test.dart
Normal file
|
@ -0,0 +1,37 @@
|
|||
// 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:async_helper/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<int> s = const StreamView<int>(const Stream<int>.empty());
|
||||
|
||||
Expect.isFalse(s is Stream<String>); // Respects type parameter.
|
||||
StreamSubscription<int> sub =
|
||||
s.listen(unreachable, onError: unreachable, onDone: ticker);
|
||||
Expect.isFalse(sub is StreamSubscription<String>); // 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);
|
Loading…
Reference in a new issue