OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library stream_controller_async_test; | 5 library stream_controller_async_test; |
6 | 6 |
7 import "package:expect/expect.dart"; | |
8 import 'dart:async'; | 7 import 'dart:async'; |
9 import 'package:unittest/unittest.dart'; | 8 import 'package:test/test.dart'; |
10 import 'event_helper.dart'; | 9 import 'event_helper.dart'; |
11 import 'stream_state_helper.dart'; | 10 import 'stream_state_helper.dart'; |
12 | 11 |
13 class A { const A(); } | 12 class A { const A(); } |
14 class B extends A { const B(); } | 13 class B extends A { const B(); } |
15 | 14 |
16 main() { | 15 main() { |
17 Events sentEvents = new Events()..close(); | 16 Events sentEvents = new Events()..close(); |
18 | 17 |
19 // Make sure that lastWhere allows to return instances of types that are | 18 // Make sure that lastWhere allows to return instances of types that are |
20 // different than the generic type of the stream. | 19 // different than the generic type of the stream. |
21 test("lastWhere with super class", () { | 20 test("lastWhere with super class", () { |
22 StreamController c = new StreamController<B>(); | 21 StreamController c = new StreamController<B>(); |
23 Future f = c.stream.lastWhere((x) => false, defaultValue: () => const A()); | 22 Future f = c.stream.lastWhere((x) => false, defaultValue: () => const A()); |
24 f.then(expectAsync((v) { Expect.equals(const A(), v); })); | 23 f.then(expectAsync((v) { expect(const A(), equals(v)); })); |
25 sentEvents.replay(c); | 24 sentEvents.replay(c); |
26 }); | 25 }); |
27 } | 26 } |
OLD | NEW |