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

Side by Side Diff: pkg/analysis_server/test/services/index/local_index_test.dart

Issue 1801883002: Remove old index and search implementations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.services.src.index.local_index;
6
7 import 'package:analysis_server/src/services/index/index_contributor.dart';
8 import 'package:analysis_server/src/services/index/local_index.dart';
9 import 'package:analysis_server/src/services/index/local_memory_index.dart';
10 import 'package:analyzer/dart/ast/ast.dart';
11 import 'package:analyzer/dart/element/element.dart';
12 import 'package:analyzer/src/generated/source_io.dart';
13 import 'package:test_reflective_loader/test_reflective_loader.dart';
14 import 'package:unittest/unittest.dart';
15
16 import '../../abstract_context.dart';
17 import '../../utils.dart';
18 import 'store/single_source_container.dart';
19
20 main() {
21 initializeTestEnvironment();
22 defineReflectiveTests(LocalIndexTest);
23 }
24
25 void _assertElementNames(List<Element> elements, List expected) {
26 expect(_toElementNames(elements), unorderedEquals(expected));
27 }
28
29 Iterable<String> _toElementNames(List<Element> elements) {
30 return elements.map((element) => element.name);
31 }
32
33 @reflectiveTest
34 class LocalIndexTest extends AbstractContextTest {
35 LocalIndex index;
36
37 void setUp() {
38 super.setUp();
39 index = createLocalMemoryIndex();
40 index.contributors = [new DartIndexContributor()];
41 }
42
43 void tearDown() {
44 super.tearDown();
45 index = null;
46 }
47
48 void test_clear() {
49 _indexTest('main() {}');
50 _assertElementNames(_getTopElements(), ['main']);
51 // clear
52 index.clear();
53 expect(_getTopElements(), isEmpty);
54 }
55
56 void test_index() {
57 _indexTest('main() {}');
58 _assertElementNames(_getTopElements(), ['main']);
59 }
60
61 void test_index_nullObject() {
62 index.index(context, null);
63 }
64
65 void test_index_nullUnitElement() {
66 CompilationUnit unit = new CompilationUnit(null, null, [], [], null);
67 index.index(context, unit);
68 }
69
70 void test_removeContext() {
71 _indexTest('main() {}');
72 // OK, there is an element
73 _assertElementNames(_getTopElements(), ['main']);
74 // remove context
75 index.removeContext(context);
76 expect(_getTopElements(), isEmpty);
77 }
78
79 void test_removeSource() {
80 Source sourceA = _indexLibraryUnit('/testA.dart', 'fa() {}');
81 _indexLibraryUnit('/testB.dart', 'fb() {}');
82 // OK, there are 2 functions
83 _assertElementNames(_getTopElements(), ['fa', 'fb']);
84 // remove source
85 index.removeSource(context, sourceA);
86 _assertElementNames(_getTopElements(), ['fb']);
87 }
88
89 void test_removeSources() {
90 Source sourceA = _indexLibraryUnit('/testA.dart', 'fa() {}');
91 _indexLibraryUnit('/testB.dart', 'fb() {}');
92 // OK, there are 2 functions
93 _assertElementNames(_getTopElements(), ['fa', 'fb']);
94 // remove source(s)
95 index.removeSources(context, new SingleSourceContainer(sourceA));
96 _assertElementNames(_getTopElements(), ['fb']);
97 }
98
99 void test_statistics() {
100 expect(index.statistics, '[0 locations, 0 sources, 0 names]');
101 }
102
103 List<Element> _getTopElements() {
104 return index.getTopLevelDeclarations((_) => true);
105 }
106
107 Source _indexLibraryUnit(String path, String content) {
108 Source source = addSource(path, content);
109 CompilationUnit dartUnit = resolveLibraryUnit(source);
110 index.index(context, dartUnit);
111 return source;
112 }
113
114 void _indexTest(String content) {
115 _indexLibraryUnit('/test.dart', content);
116 }
117 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698