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

Side by Side Diff: pkg/analysis_server/test/context_manager_test.dart

Issue 1257933002: Convert ContextManager to recursively watch analysis roots. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « pkg/analysis_server/lib/src/context_manager.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.context.directory.manager; 5 library test.context.directory.manager;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analysis_server/src/context_manager.dart'; 9 import 'package:analysis_server/src/context_manager.dart';
10 import 'package:analyzer/file_system/file_system.dart'; 10 import 'package:analyzer/file_system/file_system.dart';
(...skipping 1329 matching lines...) Expand 10 before | Expand all | Expand 10 after
1340 // Change the package map dependency so that the packageMapProvider is 1340 // Change the package map dependency so that the packageMapProvider is
1341 // re-run, and arrange for it to return null from computePackageMap(). 1341 // re-run, and arrange for it to return null from computePackageMap().
1342 packageMapProvider.packageMap = null; 1342 packageMapProvider.packageMap = null;
1343 resourceProvider.modifyFile(dependencyPath, 'new contents'); 1343 resourceProvider.modifyFile(dependencyPath, 'new contents');
1344 return pumpEventQueue().then((_) { 1344 return pumpEventQueue().then((_) {
1345 // The package map should have been changed to null. 1345 // The package map should have been changed to null.
1346 _checkPackageMap(projPath, isNull); 1346 _checkPackageMap(projPath, isNull);
1347 }); 1347 });
1348 } 1348 }
1349 1349
1350 test_watch_modifyPackageMapDependency_outsideProject() {
1351 // create a dependency file
1352 String dependencyPath = '/my/other/dep';
1353 resourceProvider.newFile(dependencyPath, 'contents');
1354 packageMapProvider.dependencies.add(dependencyPath);
1355 // create a Dart file
1356 String dartFilePath = posix.join(projPath, 'main.dart');
1357 resourceProvider.newFile(dartFilePath, 'contents');
1358 // the created context has the expected empty package map
1359 manager.setRoots(<String>[projPath], <String>[], <String, String>{});
1360 _checkPackageMap(projPath, isEmpty);
1361 // configure package map
1362 String packagePath = '/package/foo';
1363 resourceProvider.newFolder(packagePath);
1364 packageMapProvider.packageMap = {'foo': projPath};
1365 // Changing a .dart file in the project shouldn't cause a new
1366 // package map to be picked up.
1367 resourceProvider.modifyFile(dartFilePath, 'new contents');
1368 return pumpEventQueue().then((_) {
1369 _checkPackageMap(projPath, isEmpty);
1370 // However, changing the package map dependency should.
1371 resourceProvider.modifyFile(dependencyPath, 'new contents');
1372 return pumpEventQueue().then((_) {
1373 _checkPackageMap(projPath, equals(packageMapProvider.packageMap));
1374 });
1375 });
1376 }
1377
1378 test_watch_modifyPackagespec() { 1350 test_watch_modifyPackagespec() {
1379 String packagesPath = '$projPath/.packages'; 1351 String packagesPath = '$projPath/.packages';
1380 String filePath = '$projPath/bin/main.dart'; 1352 String filePath = '$projPath/bin/main.dart';
1381 1353
1382 resourceProvider.newFile(packagesPath, ''); 1354 resourceProvider.newFile(packagesPath, '');
1383 resourceProvider.newFile(filePath, 'library main;'); 1355 resourceProvider.newFile(filePath, 'library main;');
1384 1356
1385 manager.setRoots(<String>[projPath], <String>[], <String, String>{}); 1357 manager.setRoots(<String>[projPath], <String>[], <String, String>{});
1386 1358
1387 Map<String, int> filePaths = callbacks.currentContextFilePaths[projPath]; 1359 Map<String, int> filePaths = callbacks.currentContextFilePaths[projPath];
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1562 class TestUriResolver extends UriResolver { 1534 class TestUriResolver extends UriResolver {
1563 Map<Uri, Source> uriMap; 1535 Map<Uri, Source> uriMap;
1564 1536
1565 TestUriResolver(this.uriMap); 1537 TestUriResolver(this.uriMap);
1566 1538
1567 @override 1539 @override
1568 Source resolveAbsolute(Uri uri, [Uri actualUri]) { 1540 Source resolveAbsolute(Uri uri, [Uri actualUri]) {
1569 return uriMap[uri]; 1541 return uriMap[uri];
1570 } 1542 }
1571 } 1543 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/context_manager.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698