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

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

Issue 456893002: Support for excluded files/folders. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
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.domain.analysis; 5 library test.domain.analysis;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/computer/error.dart'; 10 import 'package:analysis_server/src/computer/error.dart';
(...skipping 18 matching lines...) Expand all
29 runReflectiveTests(AnalysisDomainTest); 29 runReflectiveTests(AnalysisDomainTest);
30 30
31 MockServerChannel serverChannel; 31 MockServerChannel serverChannel;
32 MemoryResourceProvider resourceProvider; 32 MemoryResourceProvider resourceProvider;
33 AnalysisServer server; 33 AnalysisServer server;
34 AnalysisDomainHandler handler; 34 AnalysisDomainHandler handler;
35 35
36 setUp(() { 36 setUp(() {
37 serverChannel = new MockServerChannel(); 37 serverChannel = new MockServerChannel();
38 resourceProvider = new MemoryResourceProvider(); 38 resourceProvider = new MemoryResourceProvider();
39 server = new AnalysisServer(serverChannel, resourceProvider, 39 server = new AnalysisServer(
40 new MockPackageMapProvider(), null, new MockSdk()); 40 serverChannel,
41 resourceProvider,
42 new MockPackageMapProvider(),
43 null,
44 new MockSdk());
41 handler = new AnalysisDomainHandler(server); 45 handler = new AnalysisDomainHandler(server);
42 }); 46 });
43 47
44 group('updateContent', testUpdateContent); 48 group('updateContent', testUpdateContent);
45 group('setSubscriptions', test_setSubscriptions); 49 group('setSubscriptions', test_setSubscriptions);
46 50
47 group('AnalysisDomainHandler', () { 51 group('AnalysisDomainHandler', () {
48 group('setAnalysisRoots', () { 52 group('setAnalysisRoots', () {
49 Request request; 53 Request request;
50 54
51 setUp(() { 55 setUp(() {
52 request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS); 56 request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS);
53 request.setParameter(INCLUDED, []); 57 request.setParameter(INCLUDED, []);
54 request.setParameter(EXCLUDED, []); 58 request.setParameter(EXCLUDED, []);
55 }); 59 });
56 60
57 test('excluded', () { 61 group('excluded', () {
58 request.setParameter(EXCLUDED, ['foo']); 62 test('excluded folder', () {
59 // TODO(scheglov) implement 63 String project = '/project';
60 var response = handler.handleRequest(request); 64 String fileA = '/project/aaa/a.dart';
61 expect(response, isResponseFailure('0')); 65 String fileB = '/project/bbb/b.dart';
66 resourceProvider.newFolder(project);
67 resourceProvider.newFile(fileA, '// a');
68 resourceProvider.newFile(fileB, '// b');
69 request.setParameter(INCLUDED, [project]);
70 request.setParameter(EXCLUDED, ['/project/bbb']);
71 var response = handler.handleRequest(request);
72 var serverRef = server;
73 expect(response, isResponseSuccess('0'));
74 // unit "a" is resolved eventually
75 // unit "b" is not resolved
76 return waitForServerOperationsPerformed(server).then((_) {
77 expect(serverRef.test_getResolvedCompilationUnit(fileA), isNotNull);
78 expect(serverRef.test_getResolvedCompilationUnit(fileB), isNull);
79 });
80 });
62 }); 81 });
63 82
64 group('included', () { 83 group('included', () {
65 test('new folder', () { 84 test('new folder', () {
66 resourceProvider.newFolder('/project'); 85 resourceProvider.newFolder('/project');
67 resourceProvider.newFile('/project/pubspec.yaml', 'name: project'); 86 resourceProvider.newFile('/project/pubspec.yaml', 'name: project');
68 resourceProvider.newFile('/project/bin/test.dart', 'main() {}'); 87 resourceProvider.newFile('/project/bin/test.dart', 'main() {}');
69 request.setParameter(INCLUDED, ['/project']); 88 request.setParameter(INCLUDED, ['/project']);
70 var response = handler.handleRequest(request); 89 var response = handler.handleRequest(request);
71 var serverRef = server; 90 var serverRef = server;
72 expect(response, isResponseSuccess('0')); 91 expect(response, isResponseSuccess('0'));
73 // verify that unit is resolved eventually 92 // verify that unit is resolved eventually
74 return waitForServerOperationsPerformed(server).then((_) { 93 return waitForServerOperationsPerformed(server).then((_) {
75 var unit = serverRef.test_getResolvedCompilationUnit( 94 var unit =
76 '/project/bin/test.dart'); 95 serverRef.test_getResolvedCompilationUnit('/project/bin/test.dar t');
77 expect(unit, isNotNull); 96 expect(unit, isNotNull);
78 }); 97 });
79 }); 98 });
80 }); 99 });
81 }); 100 });
82 101
83 group('setPriorityFiles', () { 102 group('setPriorityFiles', () {
84 test('invalid', () { 103 test('invalid', () {
85 var request = new Request('0', ANALYSIS_SET_PRIORITY_FILES); 104 var request = new Request('0', ANALYSIS_SET_PRIORITY_FILES);
86 request.setParameter(FILES, ['/project/lib.dart']); 105 request.setParameter(FILES, ['/project/lib.dart']);
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 }); 398 });
380 } 399 }
381 400
382 test_setRoots_packages() { 401 test_setRoots_packages() {
383 // prepare package 402 // prepare package
384 String pkgFile = '/packages/pkgA/libA.dart'; 403 String pkgFile = '/packages/pkgA/libA.dart';
385 resourceProvider.newFile(pkgFile, ''' 404 resourceProvider.newFile(pkgFile, '''
386 library lib_a; 405 library lib_a;
387 class A {} 406 class A {}
388 '''); 407 ''');
389 packageMapProvider.packageMap['pkgA'] = [resourceProvider.getResource( 408 packageMapProvider.packageMap['pkgA'] = [
390 '/packages/pkgA')]; 409 resourceProvider.getResource('/packages/pkgA')];
391 addTestFile(''' 410 addTestFile('''
392 import 'package:pkgA/libA.dart'; 411 import 'package:pkgA/libA.dart';
393 main(A a) { 412 main(A a) {
394 } 413 }
395 '''); 414 ''');
396 // create project and wait for analysis 415 // create project and wait for analysis
397 createProject(); 416 createProject();
398 return waitForTasksFinished().then((_) { 417 return waitForTasksFinished().then((_) {
399 // if 'package:pkgA/libA.dart' was resolved, then there are no errors 418 // if 'package:pkgA/libA.dart' was resolved, then there are no errors
400 expect(filesErrors[testFile], isEmpty); 419 expect(filesErrors[testFile], isEmpty);
(...skipping 18 matching lines...) Expand all
419 Map<String, List<AnalysisError>> filesErrors = {}; 438 Map<String, List<AnalysisError>> filesErrors = {};
420 Map<String, List<Map<String, Object>>> filesHighlights = {}; 439 Map<String, List<Map<String, Object>>> filesHighlights = {};
421 Map<String, List<Map<String, Object>>> filesNavigation = {}; 440 Map<String, List<Map<String, Object>>> filesNavigation = {};
422 441
423 String testFile = '/project/bin/test.dart'; 442 String testFile = '/project/bin/test.dart';
424 String testCode; 443 String testCode;
425 444
426 AnalysisTestHelper() { 445 AnalysisTestHelper() {
427 serverChannel = new MockServerChannel(); 446 serverChannel = new MockServerChannel();
428 resourceProvider = new MemoryResourceProvider(); 447 resourceProvider = new MemoryResourceProvider();
429 server = new AnalysisServer(serverChannel, resourceProvider, 448 server = new AnalysisServer(
430 new MockPackageMapProvider(), null, new MockSdk()); 449 serverChannel,
450 resourceProvider,
451 new MockPackageMapProvider(),
452 null,
453 new MockSdk());
431 handler = new AnalysisDomainHandler(server); 454 handler = new AnalysisDomainHandler(server);
432 // listen for notifications 455 // listen for notifications
433 Stream<Notification> notificationStream = 456 Stream<Notification> notificationStream =
434 serverChannel.notificationController.stream; 457 serverChannel.notificationController.stream;
435 notificationStream.listen((Notification notification) { 458 notificationStream.listen((Notification notification) {
436 if (notification.event == ANALYSIS_ERRORS) { 459 if (notification.event == ANALYSIS_ERRORS) {
437 String file = notification.getParameter(FILE); 460 String file = notification.getParameter(FILE);
438 List<Map<String, Object>> errorMaps = notification.getParameter(ERRORS); 461 List<Map<String, Object>> errorMaps = notification.getParameter(ERRORS);
439 filesErrors[file] = errorMaps.map(AnalysisError.fromJson).toList(); 462 filesErrors[file] = errorMaps.map(AnalysisError.fromJson).toList();
440 } 463 }
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 return waitForServerOperationsPerformed(server); 628 return waitForServerOperationsPerformed(server);
606 } 629 }
607 630
608 static String _getCodeString(code) { 631 static String _getCodeString(code) {
609 if (code is List<String>) { 632 if (code is List<String>) {
610 code = code.join('\n'); 633 code = code.join('\n');
611 } 634 }
612 return code as String; 635 return code as String;
613 } 636 }
614 } 637 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698