OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 | 6 |
7 // When an instantiation of an abstract class has the wrong arguments, an | 7 // When an instantiation of an abstract class has the wrong arguments, an |
8 // AbstractClassInstantiationError is thrown, not a NoSuchMethodError. | 8 // AbstractClassInstantiationError is thrown, not a NoSuchMethodError. |
9 | 9 |
10 abstract class A { | 10 abstract class A { |
11 A() { } | 11 A() {} |
12 } | 12 } |
13 | 13 |
14 class B { | 14 class B { |
15 B() { } | 15 B() {} |
16 } | 16 } |
17 | 17 |
18 bool isAbstractClassInstantiationError(e) => | 18 bool isAbstractClassInstantiationError(e) => |
19 e is AbstractClassInstantiationError; | 19 e is AbstractClassInstantiationError; |
20 | 20 |
21 bool isNoSuchMethodError(e) => e is NoSuchMethodError; | 21 bool isNoSuchMethodError(e) => e is NoSuchMethodError; |
22 | 22 |
23 void main() { | 23 void main() { |
24 Expect.throws(() => new A(), isAbstractClassInstantiationError); | 24 Expect.throws(() => new A(), isAbstractClassInstantiationError); |
25 | 25 |
26 Expect.throws(() => new B(1), isNoSuchMethodError); | 26 Expect.throws(() => new B(1), isNoSuchMethodError); |
27 Expect.throws(() => new A(1), isAbstractClassInstantiationError); | 27 Expect.throws(() => new A(1), isAbstractClassInstantiationError); |
28 } | 28 } |
OLD | NEW |