| Index: pkg/analyzer/test/src/summary/incremental_cache_test.dart
|
| diff --git a/pkg/analyzer/test/src/summary/incremental_cache_test.dart b/pkg/analyzer/test/src/summary/incremental_cache_test.dart
|
| deleted file mode 100644
|
| index e7ca0ac8060cf9182eb35ced8f8e496950450252..0000000000000000000000000000000000000000
|
| --- a/pkg/analyzer/test/src/summary/incremental_cache_test.dart
|
| +++ /dev/null
|
| @@ -1,297 +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 'package:analyzer/dart/element/element.dart';
|
| -import 'package:analyzer/error/error.dart';
|
| -import 'package:analyzer/src/generated/source.dart';
|
| -import 'package:analyzer/src/summary/incremental_cache.dart';
|
| -import 'package:test_reflective_loader/test_reflective_loader.dart';
|
| -import 'package:unittest/unittest.dart';
|
| -
|
| -import '../../generated/test_support.dart';
|
| -import '../abstract_single_unit.dart';
|
| -
|
| -main() {
|
| - groupSep = ' | ';
|
| - defineReflectiveTests(ComparePathsTest);
|
| - defineReflectiveTests(IncrementalCacheTest);
|
| -}
|
| -
|
| -@reflectiveTest
|
| -class ComparePathsTest extends AbstractSingleUnitTest {
|
| - void test_empty() {
|
| - expect(comparePaths('', ''), 0);
|
| - }
|
| -
|
| - void test_equal() {
|
| - expect(comparePaths('abc', 'abc'), 0);
|
| - }
|
| -
|
| - void test_longer_suffixAfter() {
|
| - expect(comparePaths('aab', 'aa'), 1);
|
| - }
|
| -
|
| - void test_longer_suffixBefore() {
|
| - expect(comparePaths('aaa', 'ab'), -1);
|
| - }
|
| -
|
| - void test_longer_suffixSame() {
|
| - expect(comparePaths('aaa', 'aa'), 1);
|
| - }
|
| -
|
| - void test_sameLength_before0() {
|
| - expect(comparePaths('aaa', 'bbb'), -1);
|
| - }
|
| -
|
| - void test_sameLength_before1() {
|
| - expect(comparePaths('aaa', 'bba'), -1);
|
| - }
|
| -
|
| - void test_sameLength_before2() {
|
| - expect(comparePaths('aaa', 'bba'), -1);
|
| - }
|
| -
|
| - void test_shorter_suffixAfter() {
|
| - expect(comparePaths('ab', 'aaa'), 1);
|
| - }
|
| -
|
| - void test_shorter_suffixBefore() {
|
| - expect(comparePaths('aa', 'aab'), -1);
|
| - }
|
| -
|
| - void test_shorter_suffixSame() {
|
| - expect(comparePaths('aa', 'aaa'), -1);
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * TODO(scheglov) write more tests for invalidation.
|
| - */
|
| -@reflectiveTest
|
| -class IncrementalCacheTest extends AbstractSingleUnitTest {
|
| - _TestCacheStorage storage = new _TestCacheStorage();
|
| - IncrementalCache cache;
|
| -
|
| - Source putLibrary(String path, String code) {
|
| - Source source = addSource(path, code);
|
| - LibraryElement libraryElement = context.computeLibraryElement(source);
|
| - cache.putLibrary(libraryElement);
|
| - return source;
|
| - }
|
| -
|
| - void putTestLibrary(String code) {
|
| - resolveTestUnit(code);
|
| - cache.putLibrary(testLibraryElement);
|
| - }
|
| -
|
| - @override
|
| - void setUp() {
|
| - super.setUp();
|
| - cache = new IncrementalCache(storage, context, <int>[]);
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_emptyCache() {
|
| - resolveTestUnit('main() {}');
|
| - // the cache is empty, no bundles
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNull);
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_exportLib() {
|
| - Source aSource = putLibrary('/a.dart', '');
|
| - putTestLibrary(r'''
|
| -import 'a.dart';
|
| -main() {}
|
| -''');
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNotNull);
|
| - expect(_getBundleSources(bundles), [testSource, aSource].toSet());
|
| - // remove the 'a.dart' bundle, 'test.dart' loading fails
|
| - cache.clearInternalCaches();
|
| - storage.map.remove(_findBundleForSource(bundles, aSource).id);
|
| - expect(cache.getLibraryClosureBundles(testSource), isNull);
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_importLib() {
|
| - Source aSource = putLibrary('/a.dart', '');
|
| - putTestLibrary(r'''
|
| -import 'a.dart';
|
| -main() {}
|
| -''');
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNotNull);
|
| - expect(_getBundleSources(bundles), [testSource, aSource].toSet());
|
| - // remove the 'a.dart' bundle, 'test.dart' loading fails
|
| - cache.clearInternalCaches();
|
| - storage.map.remove(_findBundleForSource(bundles, aSource).id);
|
| - expect(cache.getLibraryClosureBundles(testSource), isNull);
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_importLib2() {
|
| - Source aSource = putLibrary('/a.dart', '');
|
| - Source bSource = putLibrary('/b.dart', "import 'a.dart';");
|
| - putTestLibrary(r'''
|
| -import 'b.dart';
|
| -main() {}
|
| -''');
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNotNull);
|
| - expect(_getBundleSources(bundles), [testSource, aSource, bSource].toSet());
|
| - // remove the 'a.dart' bundle, 'test.dart' loading fails
|
| - cache.clearInternalCaches();
|
| - storage.map.remove(_findBundleForSource(bundles, aSource).id);
|
| - expect(cache.getLibraryClosureBundles(testSource), isNull);
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_importSdk() {
|
| - putTestLibrary(r'''
|
| -import 'dart:async';
|
| -main() {}
|
| -''');
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNotNull);
|
| - expect(_getBundleSources(bundles), [testSource].toSet());
|
| - }
|
| -
|
| - void test_getLibraryClosureBundles_onlyLibrary() {
|
| - putTestLibrary(r'''
|
| -main() {}
|
| -''');
|
| - // the cache is empty, no bundles
|
| - List<LibraryBundleWithId> bundles =
|
| - cache.getLibraryClosureBundles(testSource);
|
| - expect(bundles, isNotNull);
|
| - }
|
| -
|
| - void test_getLibraryParts_hasParts() {
|
| - Source part1Source = addSource('/part1.dart', r'part of test;');
|
| - Source part2Source = addSource('/part2.dart', r'part of test;');
|
| - putTestLibrary(r'''
|
| -library test;
|
| -part 'part1.dart';
|
| -part 'part2.dart';
|
| -''');
|
| - expect(cache.getLibraryParts(testSource),
|
| - unorderedEquals([part1Source, part2Source]));
|
| - }
|
| -
|
| - void test_getLibraryParts_noParts() {
|
| - putTestLibrary(r'''
|
| -main() {}
|
| -''');
|
| - expect(cache.getLibraryParts(testSource), isEmpty);
|
| - }
|
| -
|
| - void test_getSourceErrorsInLibrary_library() {
|
| - verifyNoTestUnitErrors = false;
|
| - putTestLibrary(r'''
|
| -main() {
|
| - int unusedVar = 42;
|
| -}
|
| -''');
|
| - List<AnalysisError> computedErrors = context.computeErrors(testSource);
|
| - cache.putSourceErrorsInLibrary(testSource, testSource, computedErrors);
|
| - List<AnalysisError> readErrors =
|
| - cache.getSourceErrorsInLibrary(testSource, testSource);
|
| - new GatheringErrorListener()
|
| - ..addAll(readErrors)
|
| - ..assertErrors(computedErrors);
|
| - }
|
| -
|
| - void test_getSourceErrorsInLibrary_part() {
|
| - verifyNoTestUnitErrors = false;
|
| - Source partSource = addSource(
|
| - '/foo.dart',
|
| - r'''
|
| -main() {
|
| - int unusedVar = 42;
|
| -}
|
| -''');
|
| - putTestLibrary(r'''
|
| -library lib;
|
| -part 'foo.dart';
|
| -''');
|
| - List<AnalysisError> computedErrors = context.computeErrors(partSource);
|
| - cache.putSourceErrorsInLibrary(testSource, partSource, computedErrors);
|
| - List<AnalysisError> readErrors =
|
| - cache.getSourceErrorsInLibrary(testSource, partSource);
|
| - new GatheringErrorListener()
|
| - ..addAll(readErrors)
|
| - ..assertErrors(computedErrors);
|
| - }
|
| -
|
| - void test_getSourceKind_library() {
|
| - putTestLibrary(r'''
|
| -main() {}
|
| -''');
|
| - expect(cache.getSourceKind(testSource), SourceKind.LIBRARY);
|
| - }
|
| -
|
| - void test_getSourceKind_library_usedAsPart() {
|
| - verifyNoTestUnitErrors = false;
|
| - Source fooSource = addSource(
|
| - '/foo.dart',
|
| - r'''
|
| -import 'dart:math';
|
| -''');
|
| - putTestLibrary(r'''
|
| -part 'foo.dart';
|
| -main() {}
|
| -''');
|
| - expect(cache.getSourceKind(testSource), SourceKind.LIBRARY);
|
| - // not a part, but also not enough information to write it as a library
|
| - expect(cache.getSourceKind(fooSource), isNull);
|
| - }
|
| -
|
| - void test_getSourceKind_notCached() {
|
| - resolveTestUnit(r'''
|
| -main() {}
|
| -''');
|
| - expect(cache.getSourceKind(testSource), isNull);
|
| - }
|
| -
|
| - void test_getSourceKind_part() {
|
| - Source partSource = addSource('/foo.dart', 'part of lib;');
|
| - putTestLibrary(r'''
|
| -library lib;
|
| -part 'foo.dart';
|
| -''');
|
| - expect(cache.getSourceKind(testSource), SourceKind.LIBRARY);
|
| - expect(cache.getSourceKind(partSource), SourceKind.PART);
|
| - }
|
| -
|
| - LibraryBundleWithId _findBundleForSource(
|
| - List<LibraryBundleWithId> bundles, Source source) {
|
| - return bundles.singleWhere((b) => b.source == source);
|
| - }
|
| -
|
| - Set<Source> _getBundleSources(List<LibraryBundleWithId> bundles) {
|
| - return bundles.map((b) => b.source).toSet();
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * A [Map] based [CacheStorage].
|
| - */
|
| -class _TestCacheStorage implements CacheStorage {
|
| - final Map<String, List<int>> map = <String, List<int>>{};
|
| -
|
| - @override
|
| - void compact() {}
|
| -
|
| - @override
|
| - List<int> get(String key) {
|
| - return map[key];
|
| - }
|
| -
|
| - @override
|
| - void put(String key, List<int> bytes) {
|
| - map[key] = bytes;
|
| - }
|
| -}
|
|
|