#1087. Add tests for tearing-off constructor of an abstract class
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart
new file mode 100644
index 0000000..f77e352
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2021, 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+abstract class C {
+  C() {}
+  C.named() {}
+}
+
+main() {
+  var x = C.new;
+//        ^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  var y = C.named;
+//        ^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+}
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart
new file mode 100644
index 0000000..c7a4708
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart
@@ -0,0 +1,39 @@
+// Copyright (c) 2021, 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+abstract class C<T> {
+  C() {}
+  C.named() {}
+}
+
+main() {
+  var v1 = C<int>.new;
+//         ^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  var v2 = (C.new)<String>;
+//          ^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  var v3 = C<int>.named;
+//         ^^^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  var v4 = (C.named)<String>;
+//          ^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart
new file mode 100644
index 0000000..940c642
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart
@@ -0,0 +1,29 @@
+// Copyright (c) 2021, 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+class C<T> {
+  C() {}
+  C.named() {}
+}
+
+main() {
+  var v1 = Type.new;
+//         ^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+  var v2 = (C<int>).new;
+//          ^^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}