| Index: pkg/analyzer/test/src/summary/index_unit_test.dart
|
| diff --git a/pkg/analyzer/test/src/summary/index_unit_test.dart b/pkg/analyzer/test/src/summary/index_unit_test.dart
|
| index 38e0e44bcfa3c498a4172e446a4aec7b10e6df32..6794ae5e4b58f64c1d76ca2933fba30a7f6a9a84 100644
|
| --- a/pkg/analyzer/test/src/summary/index_unit_test.dart
|
| +++ b/pkg/analyzer/test/src/summary/index_unit_test.dart
|
| @@ -139,6 +139,43 @@ int set s (_) {}
|
| _assertDefinedName('V', IndexNameKind.topLevel, 'V = 42;');
|
| }
|
|
|
| + void test_hasAncestor_ClassDeclaration() {
|
| + _indexTestUnit('''
|
| +class A {}
|
| +class B1 extends A {}
|
| +class B2 implements A {}
|
| +class C1 extends B1 {}
|
| +class C2 extends B2 {}
|
| +class C3 implements B1 {}
|
| +class C4 implements B2 {}
|
| +class M extends Object with A {}
|
| +''');
|
| + ClassElement classElementA = findElement("A");
|
| + assertThat(classElementA)
|
| + ..isAncestorOf('B1 extends A')
|
| + ..isAncestorOf('B2 implements A')
|
| + ..isAncestorOf('C1 extends B1')
|
| + ..isAncestorOf('C2 extends B2')
|
| + ..isAncestorOf('C3 implements B1')
|
| + ..isAncestorOf('C4 implements B2')
|
| + ..isAncestorOf('M extends Object with A');
|
| + }
|
| +
|
| + void test_hasAncestor_ClassTypeAlias() {
|
| + _indexTestUnit('''
|
| +class A {}
|
| +class B extends A {}
|
| +class C1 = Object with A;
|
| +class C2 = Object with B;
|
| +''');
|
| + ClassElement classElementA = findElement('A');
|
| + ClassElement classElementB = findElement('B');
|
| + assertThat(classElementA)
|
| + ..isAncestorOf('C1 = Object with A')
|
| + ..isAncestorOf('C2 = Object with B');
|
| + assertThat(classElementB)..isAncestorOf('C2 = Object with B');
|
| + }
|
| +
|
| void test_isExtendedBy_ClassDeclaration() {
|
| _indexTestUnit('''
|
| class A {} // 1
|
| @@ -898,6 +935,11 @@ class _ElementIndexAssert {
|
|
|
| _ElementIndexAssert(this.test, this.element);
|
|
|
| + void isAncestorOf(String search, {int length}) {
|
| + test._assertHasRelation(element, IndexRelationKind.IS_ANCESTOR_OF,
|
| + test._expectedLocation(search, false, length: length));
|
| + }
|
| +
|
| void isExtendedAt(String search, bool isQualified, {int length}) {
|
| test._assertHasRelation(element, IndexRelationKind.IS_EXTENDED_BY,
|
| test._expectedLocation(search, isQualified, length: length));
|
|
|