| Index: pkg/analysis_server/test/source/optimizing_pub_package_map_provider_test.dart
|
| diff --git a/pkg/analysis_server/test/source/optimizing_pub_package_map_provider_test.dart b/pkg/analysis_server/test/source/optimizing_pub_package_map_provider_test.dart
|
| deleted file mode 100644
|
| index 4f6848572a7cec0c566a455e21bcada43d7dd486..0000000000000000000000000000000000000000
|
| --- a/pkg/analysis_server/test/source/optimizing_pub_package_map_provider_test.dart
|
| +++ /dev/null
|
| @@ -1,244 +0,0 @@
|
| -// Copyright (c) 2015, 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.
|
| -
|
| -library test.source.optimizing_pub_package_map_provider;
|
| -
|
| -import 'dart:convert';
|
| -import 'dart:io' as io;
|
| -
|
| -import 'package:analysis_server/src/source/optimizing_pub_package_map_provider.dart';
|
| -import 'package:analyzer/file_system/file_system.dart';
|
| -import 'package:analyzer/file_system/memory_file_system.dart';
|
| -import 'package:path/path.dart';
|
| -import 'package:test_reflective_loader/test_reflective_loader.dart';
|
| -import 'package:unittest/unittest.dart';
|
| -
|
| -main() {
|
| - groupSep = ' | ';
|
| - defineReflectiveTests(OptimizingPubPackageMapProviderTest);
|
| - defineReflectiveTests(OptimizingPubPackageMapInfoTest);
|
| -}
|
| -
|
| -@reflectiveTest
|
| -class OptimizingPubPackageMapInfoTest {
|
| - MemoryResourceProvider resourceProvider;
|
| -
|
| - int createFile(String path) {
|
| - return resourceProvider.newFile(path, 'contents').modificationStamp;
|
| - }
|
| -
|
| - void createFolder(String path) {
|
| - resourceProvider.newFolder(path);
|
| - }
|
| -
|
| - void modifyFile(String path) {
|
| - resourceProvider.modifyFile(path, 'contents');
|
| - }
|
| -
|
| - void setUp() {
|
| - resourceProvider = new MemoryResourceProvider();
|
| - }
|
| -
|
| - test_isChangedDependency_fileNotPresent() {
|
| - String path = '/dep';
|
| - int timestamp = 1;
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, [path].toSet(), {path: timestamp});
|
| - expect(info.isChangedDependency(path, resourceProvider), isTrue);
|
| - }
|
| -
|
| - test_isChangedDependency_matchingTimestamp() {
|
| - String path = '/dep';
|
| - int timestamp = createFile(path);
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, [path].toSet(), {path: timestamp});
|
| - expect(info.isChangedDependency(path, resourceProvider), isFalse);
|
| - }
|
| -
|
| - test_isChangedDependency_mismatchedTimestamp() {
|
| - String path = '/dep';
|
| - int timestamp = createFile(path);
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, [path].toSet(), {path: timestamp});
|
| - modifyFile(path);
|
| - expect(info.isChangedDependency(path, resourceProvider), isTrue);
|
| - }
|
| -
|
| - test_isChangedDependency_nonDependency() {
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, ['/dep1'].toSet(), {});
|
| - expect(info.isChangedDependency('/dep2', resourceProvider), isFalse);
|
| - }
|
| -
|
| - test_isChangedDependency_nonFile() {
|
| - String path = '/dep';
|
| - int timestamp = 1;
|
| - createFolder(path);
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, [path].toSet(), {path: timestamp});
|
| - expect(info.isChangedDependency(path, resourceProvider), isTrue);
|
| - }
|
| -
|
| - test_isChangedDependency_noTimestampInfo() {
|
| - String path = '/dep';
|
| - OptimizingPubPackageMapInfo info =
|
| - new OptimizingPubPackageMapInfo({}, [path].toSet(), {});
|
| - expect(info.isChangedDependency(path, resourceProvider), isTrue);
|
| - }
|
| -}
|
| -
|
| -@reflectiveTest
|
| -class OptimizingPubPackageMapProviderTest {
|
| - MemoryResourceProvider resourceProvider;
|
| - OptimizingPubPackageMapProvider provider;
|
| - Folder projectFolder;
|
| - io.ProcessResult pubListResult;
|
| -
|
| - void setPubListError() {
|
| - pubListResult = new _MockProcessResult(0, 1, '', 'ERROR');
|
| - }
|
| -
|
| - void setPubListResult({Map<String, String> packages: const {},
|
| - List<String> input_files: const []}) {
|
| - pubListResult = new _MockProcessResult(0, 0,
|
| - JSON.encode({'packages': packages, 'input_files': input_files}), '');
|
| - }
|
| -
|
| - void setUp() {
|
| - resourceProvider = new MemoryResourceProvider();
|
| - provider = new OptimizingPubPackageMapProvider(
|
| - resourceProvider, null, _runPubList);
|
| - projectFolder = resourceProvider.newFolder('/my/proj');
|
| - }
|
| -
|
| - test_computePackageMap_noPreviousInfo() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - String pkgName = 'foo';
|
| - String pkgPath = '/pkg/foo';
|
| - setPubListResult(packages: {pkgName: pkgPath}, input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info =
|
| - provider.computePackageMap(projectFolder);
|
| - expect(info.dependencies, hasLength(1));
|
| - expect(info.dependencies, contains(dep));
|
| - expect(info.packageMap, hasLength(1));
|
| - expect(info.packageMap, contains(pkgName));
|
| - expect(info.packageMap[pkgName], hasLength(1));
|
| - expect(info.packageMap[pkgName][0].path, pkgPath);
|
| - expect(info.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_noPreviousInfo_pubListError() {
|
| - String pubspecLock = posix.join(projectFolder.path, 'pubspec.lock');
|
| - setPubListError();
|
| - OptimizingPubPackageMapInfo info =
|
| - provider.computePackageMap(projectFolder);
|
| - expect(info.dependencies, hasLength(1));
|
| - expect(info.dependencies, contains(pubspecLock));
|
| - expect(info.packageMap, isNull);
|
| - expect(info.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - int timestamp = resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.dependencies, hasLength(1));
|
| - expect(info2.dependencies, contains(dep));
|
| - expect(info2.modificationTimes, hasLength(1));
|
| - expect(info2.modificationTimes, contains(dep));
|
| - expect(info2.modificationTimes[dep], timestamp);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo_newDependency() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: []);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo_oldDependencyNoLongerAFile() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - resourceProvider.deleteFile(dep);
|
| - resourceProvider.newFolder(dep);
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo_oldDependencyNoLongerPresent() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - resourceProvider.deleteFile(dep);
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo_oldDependencyNoLongerRelevant() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - setPubListResult(input_files: []);
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.modificationTimes, isEmpty);
|
| - }
|
| -
|
| - test_computePackageMap_withPreviousInfo_pubListError() {
|
| - String dep = posix.join(projectFolder.path, 'dep');
|
| - String pubspecLock = posix.join(projectFolder.path, 'pubspec.lock');
|
| - int timestamp = resourceProvider.newFile(dep, 'contents').modificationStamp;
|
| - setPubListResult(input_files: [dep]);
|
| - OptimizingPubPackageMapInfo info1 =
|
| - provider.computePackageMap(projectFolder);
|
| - setPubListError();
|
| - OptimizingPubPackageMapInfo info2 =
|
| - provider.computePackageMap(projectFolder, info1);
|
| - expect(info2.dependencies, hasLength(2));
|
| - expect(info2.dependencies, contains(dep));
|
| - expect(info2.dependencies, contains(pubspecLock));
|
| - expect(info2.modificationTimes, hasLength(1));
|
| - expect(info2.modificationTimes, contains(dep));
|
| - expect(info2.modificationTimes[dep], timestamp);
|
| - }
|
| -
|
| - io.ProcessResult _runPubList(Folder folder) {
|
| - expect(folder, projectFolder);
|
| - return pubListResult;
|
| - }
|
| -}
|
| -
|
| -class _MockProcessResult implements io.ProcessResult {
|
| - @override
|
| - final int pid;
|
| -
|
| - @override
|
| - final int exitCode;
|
| -
|
| - @override
|
| - final stdout;
|
| -
|
| - @override
|
| - final stderr;
|
| -
|
| - _MockProcessResult(this.pid, this.exitCode, this.stdout, this.stderr);
|
| -}
|
|
|