| Index: pkg/analyzer/test/generated/element_test.dart
|
| diff --git a/pkg/analyzer/test/generated/element_test.dart b/pkg/analyzer/test/generated/element_test.dart
|
| index e6c2fc356c79191bbe58d746cf1be7fe954b3e3d..3bcb073bf816a660d60300d2ca84f7bfe862dba5 100644
|
| --- a/pkg/analyzer/test/generated/element_test.dart
|
| +++ b/pkg/analyzer/test/generated/element_test.dart
|
| @@ -3269,6 +3269,16 @@ class InterfaceTypeImplTest extends EngineTestCase {
|
| JUnitTestCase.assertTrue(type.isMoreSpecificThan(DynamicTypeImpl.instance));
|
| }
|
|
|
| + void test_isMoreSpecificThan_generic() {
|
| + ClassElement classA = ElementFactory.classElement2("A", ["E"]);
|
| + ClassElement classB = ElementFactory.classElement2("B", []);
|
| + DartType dynamicType = DynamicTypeImpl.instance;
|
| + InterfaceType typeAOfDynamic = classA.type.substitute4(<DartType> [dynamicType]);
|
| + InterfaceType typeAOfB = classA.type.substitute4(<DartType> [classB.type]);
|
| + JUnitTestCase.assertFalse(typeAOfDynamic.isMoreSpecificThan(typeAOfB));
|
| + JUnitTestCase.assertTrue(typeAOfB.isMoreSpecificThan(typeAOfDynamic));
|
| + }
|
| +
|
| void test_isMoreSpecificThan_self() {
|
| InterfaceType type = ElementFactory.classElement2("A", []).type;
|
| JUnitTestCase.assertTrue(type.isMoreSpecificThan(type));
|
| @@ -3392,6 +3402,16 @@ class InterfaceTypeImplTest extends EngineTestCase {
|
| JUnitTestCase.assertTrue(classA.type.isSubtypeOf(functionType));
|
| }
|
|
|
| + void test_isSubtypeOf_generic() {
|
| + ClassElement classA = ElementFactory.classElement2("A", ["E"]);
|
| + ClassElement classB = ElementFactory.classElement2("B", []);
|
| + DartType dynamicType = DynamicTypeImpl.instance;
|
| + InterfaceType typeAOfDynamic = classA.type.substitute4(<DartType> [dynamicType]);
|
| + InterfaceType typeAOfB = classA.type.substitute4(<DartType> [classB.type]);
|
| + JUnitTestCase.assertTrue(typeAOfDynamic.isSubtypeOf(typeAOfB));
|
| + JUnitTestCase.assertTrue(typeAOfB.isSubtypeOf(typeAOfDynamic));
|
| + }
|
| +
|
| void test_isSubtypeOf_interface() {
|
| ClassElement classA = ElementFactory.classElement2("A", []);
|
| ClassElement classB = ElementFactory.classElement("B", classA.type, []);
|
| @@ -4100,6 +4120,10 @@ class InterfaceTypeImplTest extends EngineTestCase {
|
| final __test = new InterfaceTypeImplTest();
|
| runJUnitTest(__test, __test.test_isMoreSpecificThan_dynamic);
|
| });
|
| + _ut.test('test_isMoreSpecificThan_generic', () {
|
| + final __test = new InterfaceTypeImplTest();
|
| + runJUnitTest(__test, __test.test_isMoreSpecificThan_generic);
|
| + });
|
| _ut.test('test_isMoreSpecificThan_self', () {
|
| final __test = new InterfaceTypeImplTest();
|
| runJUnitTest(__test, __test.test_isMoreSpecificThan_self);
|
| @@ -4140,6 +4164,10 @@ class InterfaceTypeImplTest extends EngineTestCase {
|
| final __test = new InterfaceTypeImplTest();
|
| runJUnitTest(__test, __test.test_isSubtypeOf_function);
|
| });
|
| + _ut.test('test_isSubtypeOf_generic', () {
|
| + final __test = new InterfaceTypeImplTest();
|
| + runJUnitTest(__test, __test.test_isSubtypeOf_generic);
|
| + });
|
| _ut.test('test_isSubtypeOf_interface', () {
|
| final __test = new InterfaceTypeImplTest();
|
| runJUnitTest(__test, __test.test_isSubtypeOf_interface);
|
|
|