blob: d16b37057ba108e286647e95ac1797952ee25c04 [file] [log] [blame]
// Copyright (c) 2011, 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.
/// @assertion Future<T> first
/// If this stream is empty (a done event occurs before the first data event),
/// the resulting future completes with a StateError.
/// Except for the type of the error, this method is equivalent to
/// this.elementAt(0).
/// @description Checks that for non-empty stream, this.first is equivalent to
/// this.elementAt(0).
/// @author kaigorodov
library first_A02_t02;
import "dart:async";
import "../../../Utils/expect.dart";
void check(Stream s) {
s = s.asBroadcastStream();
[s.elementAt(0), s.first]
(List result) {
Expect.equals(result[0], result[1]);
void test(CreateStreamFunction create) {
check(create([1, 2, 3]));
check(create(["a", 2, 3.14]));