| OLD | NEW |
| 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.completion; | 5 library test.domain.completion; |
| 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/channel/channel.dart'; | 10 import 'package:analysis_server/src/channel/channel.dart'; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 completionDomain = null; | 78 completionDomain = null; |
| 79 } | 79 } |
| 80 | 80 |
| 81 /** | 81 /** |
| 82 * Assert different managers are used for different sources | 82 * Assert different managers are used for different sources |
| 83 */ | 83 */ |
| 84 test_2_requests_different_sources() { | 84 test_2_requests_different_sources() { |
| 85 expect(completionDomain.manager, isNull); | 85 expect(completionDomain.manager, isNull); |
| 86 sendRequest(testFile); | 86 sendRequest(testFile); |
| 87 expect(completionDomain.manager, isNotNull); | 87 expect(completionDomain.manager, isNotNull); |
| 88 CompletionManager expectedManager = completionDomain.manager; | 88 MockCompletionManager expectedManager = completionDomain.manager; |
| 89 expect(expectedManager.disposeCallCount, 0); |
| 89 expect(completionDomain.mockContext.mockStream.listenCount, 1); | 90 expect(completionDomain.mockContext.mockStream.listenCount, 1); |
| 90 expect(completionDomain.mockContext.mockStream.cancelCount, 0); | 91 expect(completionDomain.mockContext.mockStream.cancelCount, 0); |
| 91 return pumpEventQueue().then((_) { | 92 return pumpEventQueue().then((_) { |
| 92 expect(completionDomain.manager, expectedManager); | 93 expect(completionDomain.manager, expectedManager); |
| 93 expect(completionDomain.mockManager.computeCallCount, 1); | 94 expect(completionDomain.mockManager.computeCallCount, 1); |
| 94 sendRequest(testFile2); | 95 sendRequest(testFile2); |
| 95 expect(completionDomain.manager, isNotNull); | 96 expect(completionDomain.manager, isNotNull); |
| 96 expect(completionDomain.manager, isNot(expectedManager)); | 97 expect(completionDomain.manager, isNot(expectedManager)); |
| 98 expect(expectedManager.disposeCallCount, 1); |
| 97 expectedManager = completionDomain.manager; | 99 expectedManager = completionDomain.manager; |
| 98 expect(completionDomain.mockContext.mockStream.listenCount, 2); | 100 expect(completionDomain.mockContext.mockStream.listenCount, 2); |
| 99 expect(completionDomain.mockContext.mockStream.cancelCount, 1); | 101 expect(completionDomain.mockContext.mockStream.cancelCount, 1); |
| 100 return pumpEventQueue(); | 102 return pumpEventQueue(); |
| 101 }).then((_) { | 103 }).then((_) { |
| 102 expect(completionDomain.manager, expectedManager); | 104 expect(completionDomain.manager, expectedManager); |
| 103 expect(completionDomain.mockContext.mockStream.listenCount, 2); | 105 expect(completionDomain.mockContext.mockStream.listenCount, 2); |
| 104 expect(completionDomain.mockContext.mockStream.cancelCount, 1); | 106 expect(completionDomain.mockContext.mockStream.cancelCount, 1); |
| 105 expect(completionDomain.mockManager.computeCallCount, 1); | 107 expect(completionDomain.mockManager.computeCallCount, 1); |
| 106 }); | 108 }); |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 class MockCache extends CompletionCache { | 435 class MockCache extends CompletionCache { |
| 434 MockCache(AnalysisContext context, Source source) : super(context, source); | 436 MockCache(AnalysisContext context, Source source) : super(context, source); |
| 435 } | 437 } |
| 436 | 438 |
| 437 class MockCompletionManager implements CompletionManager { | 439 class MockCompletionManager implements CompletionManager { |
| 438 final AnalysisContext context; | 440 final AnalysisContext context; |
| 439 final Source source; | 441 final Source source; |
| 440 final SearchEngine searchEngine; | 442 final SearchEngine searchEngine; |
| 441 StreamController<CompletionResult> controller; | 443 StreamController<CompletionResult> controller; |
| 442 int computeCallCount = 0; | 444 int computeCallCount = 0; |
| 445 int disposeCallCount = 0; |
| 443 | 446 |
| 444 MockCompletionManager(this.context, this.source, this.searchEngine); | 447 MockCompletionManager(this.context, this.source, this.searchEngine); |
| 445 | 448 |
| 446 @override | 449 @override |
| 447 Future<bool> computeCache() { | 450 Future<bool> computeCache() { |
| 448 return new Future.value(true); | 451 return new Future.value(true); |
| 449 } | 452 } |
| 450 | 453 |
| 451 @override | 454 @override |
| 452 void computeSuggestions(CompletionRequest request) { | 455 void computeSuggestions(CompletionRequest request) { |
| 453 ++computeCallCount; | 456 ++computeCallCount; |
| 454 CompletionResult result = new CompletionResult(0, 0, [], true); | 457 CompletionResult result = new CompletionResult(0, 0, [], true); |
| 455 controller.add(result); | 458 controller.add(result); |
| 456 } | 459 } |
| 457 | 460 |
| 458 @override | 461 @override |
| 462 void dispose() { |
| 463 ++disposeCallCount; |
| 464 } |
| 465 |
| 466 @override |
| 459 Stream<CompletionResult> results(CompletionRequest request) { | 467 Stream<CompletionResult> results(CompletionRequest request) { |
| 460 controller = new StreamController<CompletionResult>(onListen: () { | 468 controller = new StreamController<CompletionResult>(onListen: () { |
| 461 scheduleMicrotask(() { | 469 scheduleMicrotask(() { |
| 462 computeSuggestions(request); | 470 computeSuggestions(request); |
| 463 }); | 471 }); |
| 464 }); | 472 }); |
| 465 return controller.stream; | 473 return controller.stream; |
| 466 } | 474 } |
| 467 } | 475 } |
| 468 | 476 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 | 566 |
| 559 void contextsChangedRaw(ContextsChangedEvent newEvent) { | 567 void contextsChangedRaw(ContextsChangedEvent newEvent) { |
| 560 super.contextsChanged(newEvent); | 568 super.contextsChanged(newEvent); |
| 561 } | 569 } |
| 562 | 570 |
| 563 CompletionManager createCompletionManager(AnalysisContext context, | 571 CompletionManager createCompletionManager(AnalysisContext context, |
| 564 Source source, SearchEngine searchEngine) { | 572 Source source, SearchEngine searchEngine) { |
| 565 return new MockCompletionManager(mockContext, source, searchEngine); | 573 return new MockCompletionManager(mockContext, source, searchEngine); |
| 566 } | 574 } |
| 567 } | 575 } |
| OLD | NEW |