Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Unified Diff: pkg/analysis_server/test/services/index/index_test.dart

Issue 2963773003: Remove the old index. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/test/services/index/index_test.dart
diff --git a/pkg/analysis_server/test/services/index/index_test.dart b/pkg/analysis_server/test/services/index/index_test.dart
deleted file mode 100644
index 4976177c553bf553597667d50153fc1ba32f6eef..0000000000000000000000000000000000000000
--- a/pkg/analysis_server/test/services/index/index_test.dart
+++ /dev/null
@@ -1,380 +0,0 @@
-// Copyright (c) 2016, 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 'dart:async';
-
-import 'package:analysis_server/src/services/index/index.dart';
-import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/summary/idl.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'package:typed_mock/typed_mock.dart';
-
-import '../../abstract_single_unit.dart';
-
-main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(IndexTest);
- });
-}
-
-@reflectiveTest
-class IndexTest extends AbstractSingleUnitTest {
- Index index = createMemoryIndex();
-
- /**
- * Return the [Location] with given properties, or fail.
- */
- Location findLocation(List<Location> locations, String libraryUri,
- String unitUri, int offset, int length, bool isQualified) {
- for (Location location in locations) {
- if (location.libraryUri == libraryUri &&
- location.unitUri == unitUri &&
- location.offset == offset &&
- location.length == length &&
- location.isQualified == isQualified) {
- return location;
- }
- }
- fail('No at $offset with length $length qualified=$isQualified in\n'
- '${locations.join('\n')}');
- return null;
- }
-
- /**
- * Return the [Location] with given properties, or fail.
- */
- Location findLocationSource(
- List<Location> locations, Source source, String search, bool isQualified,
- {int length}) {
- String code = source.contents.data;
- int offset = code.indexOf(search);
- expect(offset, isNonNegative, reason: 'Not found "$search" in\n$code');
- length ??= getLeadingIdentifierLength(search);
- String uri = source.uri.toString();
- return findLocation(locations, uri, uri, offset, length, isQualified);
- }
-
- /**
- * Return the [Location] with given properties, or fail.
- */
- Location findLocationTest(
- List<Location> locations, String search, bool isQualified,
- {int length}) {
- int offset = findOffset(search);
- length ??= getLeadingIdentifierLength(search);
- String testUri = testSource.uri.toString();
- return findLocation(
- locations, testUri, testUri, offset, length, isQualified);
- }
-
- void setUp() {
- super.setUp();
- }
-
- void tearDown() {
- super.tearDown();
- index = null;
- }
-
- test_getDefinedNames_classMember() async {
- await _indexTestUnit('''
-class A {
- test() {}
-}
-class B {
- int test = 1;
- main() {
- int test = 2;
- }
-}
-''');
- ClassElement classA = findElement('A');
- ClassElement classB = findElement('B');
- List<Location> locations = await index.getDefinedNames(
- new RegExp(r'^test$'), IndexNameKind.classMember);
- expect(locations, hasLength(2));
- _assertHasDefinedName(locations, classA.methods[0]);
- _assertHasDefinedName(locations, classB.fields[0]);
- }
-
- test_getDefinedNames_topLevel() async {
- await _indexTestUnit('''
-class A {} // A
-class B = Object with A;
-typedef C();
-D() {}
-var E = null;
-class NoMatchABCDE {}
-''');
- Element topA = findElement('A');
- Element topB = findElement('B');
- Element topC = findElement('C');
- Element topD = findElement('D');
- Element topE = findElement('E');
- List<Location> locations = await index.getDefinedNames(
- new RegExp(r'^[A-E]$'), IndexNameKind.topLevel);
- expect(locations, hasLength(5));
- _assertHasDefinedName(locations, topA);
- _assertHasDefinedName(locations, topB);
- _assertHasDefinedName(locations, topC);
- _assertHasDefinedName(locations, topD);
- _assertHasDefinedName(locations, topE);
- }
-
- test_getDefinedNames_topLevel2() async {
- await _indexTestUnit(
- '''
-class A {} // A
-class B = Object with A;
-class NoMatchABCDE {}
-''',
- declOnly: true);
- Element topA = findElement('A');
- Element topB = findElement('B');
- List<Location> locations = await index.getDefinedNames(
- new RegExp(r'^[A-E]$'), IndexNameKind.topLevel);
- expect(locations, hasLength(2));
- _assertHasDefinedName(locations, topA);
- _assertHasDefinedName(locations, topB);
- }
-
- test_getRelations_isExtendedBy() async {
- await _indexTestUnit(r'''
-class A {}
-class B extends A {} // B
-''');
- Source source2 = await _indexUnit(
- '/test2.dart',
- r'''
-import 'test.dart';
-class C extends A {} // C
-''');
- ClassElement elementA = testUnitElement.getType('A');
- List<Location> locations =
- await index.getRelations(elementA, IndexRelationKind.IS_EXTENDED_BY);
- findLocationTest(locations, 'A {} // B', false);
- findLocationSource(locations, source2, 'A {} // C', false);
- }
-
- test_getRelations_isReferencedBy() async {
- await _indexTestUnit(r'''
-main(int a, int b) {
-}
-''');
- ClassElement intElement =
- testUnitElement.context.typeProvider.intType.element;
- List<Location> locations = await index.getRelations(
- intElement, IndexRelationKind.IS_REFERENCED_BY);
- findLocationTest(locations, 'int a', false);
- findLocationTest(locations, 'int b', false);
- }
-
- test_getUnresolvedMemberReferences_qualified_resolved() async {
- await _indexTestUnit('''
-class A {
- var test; // A
-}
-main(A a) {
- print(a.test);
- a.test = 1;
- a.test += 2;
- a.test();
-}
-''');
- List<Location> locations =
- await index.getUnresolvedMemberReferences('test');
- expect(locations, isEmpty);
- }
-
- test_getUnresolvedMemberReferences_qualified_unresolved() async {
- await _indexTestUnit('''
-class A {
- var test; // A
-}
-main(p) {
- print(p.test);
- p.test = 1;
- p.test += 2;
- p.test();
- print(p.test2); // not requested
-}
-''');
- List<Location> locations =
- await index.getUnresolvedMemberReferences('test');
- expect(locations, hasLength(4));
- findLocationTest(locations, 'test);', true);
- findLocationTest(locations, 'test = 1;', true);
- findLocationTest(locations, 'test += 2;', true);
- findLocationTest(locations, 'test();', true);
- }
-
- test_getUnresolvedMemberReferences_unqualified_resolved() async {
- await _indexTestUnit('''
-class A {
- var test;
- m() {
- print(test);
- test = 1;
- test += 2;
- test();
- }
-}
-''');
- List<Location> locations =
- await index.getUnresolvedMemberReferences('test');
- expect(locations, isEmpty);
- }
-
- test_getUnresolvedMemberReferences_unqualified_unresolved() async {
- verifyNoTestUnitErrors = false;
- await _indexTestUnit('''
-class A {
- m() {
- print(test);
- test = 1;
- test += 2;
- test();
- print(test2); // not requested
- }
-}
-''');
- List<Location> locations =
- await index.getUnresolvedMemberReferences('test');
- expect(locations, hasLength(4));
- findLocationTest(locations, 'test);', false);
- findLocationTest(locations, 'test = 1;', false);
- findLocationTest(locations, 'test += 2;', false);
- findLocationTest(locations, 'test();', false);
- }
-
- test_indexDeclarations_afterIndexUnit() async {
- await resolveTestUnit('''
-var a = 0;
-var b = a + 1;
-''');
- index.indexUnit(testUnit);
- TopLevelVariableElement a = findElement('a');
- // We can find references.
- {
- List<Location> locations = await index.getRelations(
- a.getter, IndexRelationKind.IS_REFERENCED_BY);
- findLocationTest(locations, 'a + 1', false);
- }
- // Attempt to index just declarations - we still can find references.
- index.indexDeclarations(testUnit);
- {
- List<Location> locations = await index.getRelations(
- a.getter, IndexRelationKind.IS_REFERENCED_BY);
- findLocationTest(locations, 'a + 1', false);
- }
- }
-
- test_indexDeclarations_nullUnit() async {
- index.indexDeclarations(null);
- }
-
- test_indexDeclarations_nullUnitElement() async {
- await resolveTestUnit('');
- testUnit.element = null;
- index.indexDeclarations(testUnit);
- }
-
- test_indexUnit_nullLibraryElement() async {
- await resolveTestUnit('');
- CompilationUnitElement unitElement = new _CompilationUnitElementMock();
- expect(unitElement.library, isNull);
- testUnit.element = unitElement;
- index.indexUnit(testUnit);
- }
-
- test_indexUnit_nullUnit() async {
- index.indexUnit(null);
- }
-
- test_indexUnit_nullUnitElement() async {
- await resolveTestUnit('');
- testUnit.element = null;
- index.indexUnit(testUnit);
- }
-
- test_removeContext() async {
- await _indexTestUnit('''
-class A {}
-''');
- RegExp regExp = new RegExp(r'^A$');
- expect(await index.getDefinedNames(regExp, IndexNameKind.topLevel),
- hasLength(1));
- // remove the context - no top-level declarations
- index.removeContext(testUnitElement.context);
- expect(
- await index.getDefinedNames(regExp, IndexNameKind.topLevel), isEmpty);
- }
-
- test_removeUnit() async {
- RegExp regExp = new RegExp(r'^[AB]$');
- Source sourceA = addSource('/a.dart', 'class A {}');
- Source sourceB = addSource('/b.dart', 'class B {}');
- CompilationUnit unitA = await resolveLibraryUnit(sourceA);
- CompilationUnit unitB = await resolveLibraryUnit(sourceB);
- index.indexUnit(unitA);
- index.indexUnit(unitB);
- {
- List<Location> locations =
- await index.getDefinedNames(regExp, IndexNameKind.topLevel);
- expect(locations, hasLength(2));
- expect(locations.map((l) => l.libraryUri),
- unorderedEquals([sourceA.uri.toString(), sourceB.uri.toString()]));
- }
- // remove a.dart - no a.dart location
- index.removeUnit(unitA.element.context, sourceA, sourceA);
- {
- List<Location> locations =
- await index.getDefinedNames(regExp, IndexNameKind.topLevel);
- expect(locations, hasLength(1));
- expect(locations.map((l) => l.libraryUri),
- unorderedEquals([sourceB.uri.toString()]));
- }
- }
-
- /**
- * Assert that the given list of [locations] has a [Location] corresponding
- * to the [element].
- */
- void _assertHasDefinedName(List<Location> locations, Element element) {
- String libraryUri = element.library.source.uri.toString();
- String unitUri = element.source.uri.toString();
- for (Location location in locations) {
- if (location.libraryUri == libraryUri &&
- location.unitUri == unitUri &&
- location.offset == element.nameOffset &&
- location.length == element.nameLength) {
- return;
- }
- }
- fail('No declaration of $element at ${element.nameOffset} in\n'
- '${locations.join('\n')}');
- }
-
- Future<Null> _indexTestUnit(String code, {bool declOnly: false}) async {
- await resolveTestUnit(code);
- if (declOnly) {
- index.indexDeclarations(testUnit);
- } else {
- index.indexUnit(testUnit);
- }
- }
-
- Future<Source> _indexUnit(String path, String code) async {
- Source source = addSource(path, code);
- CompilationUnit unit = await resolveLibraryUnit(source);
- index.indexUnit(unit);
- return source;
- }
-}
-
-class _CompilationUnitElementMock extends TypedMock
- implements CompilationUnitElement {}
« no previous file with comments | « pkg/analysis_server/test/search/type_hierarchy_test.dart ('k') | pkg/analysis_server/test/services/index/index_unit_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698