blob: d90a1960414b02ce7129e2e9eb276ca83c4068d7 [file] [log] [blame]
// 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.
import "package:expect/expect.dart";
// When an instantiation of an abstract class has the wrong arguments, an
// AbstractClassInstantiationError is thrown, not a NoSuchMethodError.
abstract class A {
A() {}
}
class B {
B() {}
}
bool isAbstractClassInstantiationError(e) =>
e is AbstractClassInstantiationError;
bool isNoSuchMethodError(e) => e is NoSuchMethodError;
void main() {
Expect.throws(() => new A(), isAbstractClassInstantiationError);
Expect.throws(() => new B(1), isNoSuchMethodError);
Expect.throws(() => new A(1), isAbstractClassInstantiationError);
}