OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 import "package:expect/expect.dart"; | |
6 | |
7 class A<T> { | |
8 var closure; | |
9 | |
10 factory A.factory() => new A(() => new List<T>()); | |
11 | |
12 A([this.closure]) { | |
13 if (closure == null) { | |
14 closure = () => new List<T>(); | |
15 } | |
16 } | |
17 } | |
18 | |
19 main() { | |
20 Expect.isTrue((new A.factory()).closure() is List); | |
21 Expect.isTrue((new A()).closure() is List); | |
22 Expect.isTrue((new A<int>.factory()).closure() is List<int>); | |
23 Expect.isTrue((new A<int>()).closure() is List<int>); | |
24 Expect.isFalse((new A<int>.factory()).closure() is List<String>); | |
25 Expect.isFalse((new A<int>()).closure() is List<String>); | |
26 } | |
OLD | NEW |