| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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.src.task.dart_work_manager_test; | 5 library test.src.task.dart_work_manager_test; |
| 6 | 6 |
| 7 import 'package:analyzer/src/context/cache.dart'; | 7 import 'package:analyzer/src/context/cache.dart'; |
| 8 import 'package:analyzer/src/generated/ast.dart'; | 8 import 'package:analyzer/src/generated/ast.dart'; |
| 9 import 'package:analyzer/src/generated/engine.dart' | 9 import 'package:analyzer/src/generated/engine.dart' |
| 10 show | 10 show |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 import 'package:analyzer/src/task/dart_work_manager.dart'; | 21 import 'package:analyzer/src/task/dart_work_manager.dart'; |
| 22 import 'package:analyzer/src/task/driver.dart'; | 22 import 'package:analyzer/src/task/driver.dart'; |
| 23 import 'package:analyzer/task/dart.dart'; | 23 import 'package:analyzer/task/dart.dart'; |
| 24 import 'package:analyzer/task/general.dart'; | 24 import 'package:analyzer/task/general.dart'; |
| 25 import 'package:analyzer/task/model.dart'; | 25 import 'package:analyzer/task/model.dart'; |
| 26 import 'package:typed_mock/typed_mock.dart'; | 26 import 'package:typed_mock/typed_mock.dart'; |
| 27 import 'package:unittest/unittest.dart'; | 27 import 'package:unittest/unittest.dart'; |
| 28 | 28 |
| 29 import '../../generated/test_support.dart'; | 29 import '../../generated/test_support.dart'; |
| 30 import '../../reflective_tests.dart'; | 30 import '../../reflective_tests.dart'; |
| 31 import '../../utils.dart'; |
| 31 | 32 |
| 32 main() { | 33 main() { |
| 33 groupSep = ' | '; | 34 initializeTestEnvironment(); |
| 34 runReflectiveTests(DartWorkManagerTest); | 35 runReflectiveTests(DartWorkManagerTest); |
| 35 } | 36 } |
| 36 | 37 |
| 37 @reflectiveTest | 38 @reflectiveTest |
| 38 class DartWorkManagerTest { | 39 class DartWorkManagerTest { |
| 39 InternalAnalysisContext context = new _InternalAnalysisContextMock(); | 40 InternalAnalysisContext context = new _InternalAnalysisContextMock(); |
| 40 AnalysisCache cache; | 41 AnalysisCache cache; |
| 41 DartWorkManager manager; | 42 DartWorkManager manager; |
| 42 | 43 |
| 43 CaughtException caughtException = new CaughtException(null, null); | 44 CaughtException caughtException = new CaughtException(null, null); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 when(context.shouldErrorsBeAnalyzed(source3, null)).thenReturn(true); | 213 when(context.shouldErrorsBeAnalyzed(source3, null)).thenReturn(true); |
| 213 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 214 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 214 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 215 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 215 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 216 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 216 manager.priorityResultQueue | 217 manager.priorityResultQueue |
| 217 .add(new TargetedResult(source1, LIBRARY_ERRORS_READY)); | 218 .add(new TargetedResult(source1, LIBRARY_ERRORS_READY)); |
| 218 manager.priorityResultQueue | 219 manager.priorityResultQueue |
| 219 .add(new TargetedResult(source2, LIBRARY_ERRORS_READY)); | 220 .add(new TargetedResult(source2, LIBRARY_ERRORS_READY)); |
| 220 // -source1 +source3 | 221 // -source1 +source3 |
| 221 manager.applyPriorityTargets([source2, source3]); | 222 manager.applyPriorityTargets([source2, source3]); |
| 222 expect(manager.priorityResultQueue, unorderedEquals([ | 223 expect( |
| 223 new TargetedResult(source2, LIBRARY_ERRORS_READY), | 224 manager.priorityResultQueue, |
| 224 new TargetedResult(source3, LIBRARY_ERRORS_READY) | 225 unorderedEquals([ |
| 225 ])); | 226 new TargetedResult(source2, LIBRARY_ERRORS_READY), |
| 227 new TargetedResult(source3, LIBRARY_ERRORS_READY) |
| 228 ])); |
| 226 // get next request | 229 // get next request |
| 227 TargetedResult request = manager.getNextResult(); | 230 TargetedResult request = manager.getNextResult(); |
| 228 expect(request.target, source2); | 231 expect(request.target, source2); |
| 229 expect(request.result, LIBRARY_ERRORS_READY); | 232 expect(request.result, LIBRARY_ERRORS_READY); |
| 230 } | 233 } |
| 231 | 234 |
| 232 void test_applyPriorityTargets_isLibrary_computeUnit() { | 235 void test_applyPriorityTargets_isLibrary_computeUnit() { |
| 233 when(context.shouldErrorsBeAnalyzed(source2, null)).thenReturn(false); | 236 when(context.shouldErrorsBeAnalyzed(source2, null)).thenReturn(false); |
| 234 when(context.shouldErrorsBeAnalyzed(source3, null)).thenReturn(false); | 237 when(context.shouldErrorsBeAnalyzed(source3, null)).thenReturn(false); |
| 235 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 238 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 236 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 239 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 237 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 240 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 238 manager.priorityResultQueue | 241 manager.priorityResultQueue |
| 239 .add(new TargetedResult(source1, LIBRARY_ERRORS_READY)); | 242 .add(new TargetedResult(source1, LIBRARY_ERRORS_READY)); |
| 240 manager.priorityResultQueue | 243 manager.priorityResultQueue |
| 241 .add(new TargetedResult(source2, LIBRARY_ERRORS_READY)); | 244 .add(new TargetedResult(source2, LIBRARY_ERRORS_READY)); |
| 242 // -source1 +source3 | 245 // -source1 +source3 |
| 243 manager.applyPriorityTargets([source2, source3]); | 246 manager.applyPriorityTargets([source2, source3]); |
| 244 expect(manager.priorityResultQueue, unorderedEquals([ | 247 expect( |
| 245 new TargetedResult( | 248 manager.priorityResultQueue, |
| 246 new LibrarySpecificUnit(source2, source2), RESOLVED_UNIT), | 249 unorderedEquals([ |
| 247 new TargetedResult( | 250 new TargetedResult( |
| 248 new LibrarySpecificUnit(source3, source3), RESOLVED_UNIT), | 251 new LibrarySpecificUnit(source2, source2), RESOLVED_UNIT), |
| 249 ])); | 252 new TargetedResult( |
| 253 new LibrarySpecificUnit(source3, source3), RESOLVED_UNIT), |
| 254 ])); |
| 250 } | 255 } |
| 251 | 256 |
| 252 void test_applyPriorityTargets_isPart() { | 257 void test_applyPriorityTargets_isPart() { |
| 253 entry1.setValue(SOURCE_KIND, SourceKind.PART, []); | 258 entry1.setValue(SOURCE_KIND, SourceKind.PART, []); |
| 254 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 259 entry2.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 255 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 260 entry3.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 256 // +source2 +source3 | 261 // +source2 +source3 |
| 257 when(context.getLibrariesContaining(source1)) | 262 when(context.getLibrariesContaining(source1)) |
| 258 .thenReturn([source2, source3]); | 263 .thenReturn([source2, source3]); |
| 259 manager.applyPriorityTargets([source1]); | 264 manager.applyPriorityTargets([source1]); |
| 260 expect(manager.priorityResultQueue, unorderedEquals([ | 265 expect( |
| 261 new TargetedResult(source2, LIBRARY_ERRORS_READY), | 266 manager.priorityResultQueue, |
| 262 new TargetedResult(source3, LIBRARY_ERRORS_READY) | 267 unorderedEquals([ |
| 263 ])); | 268 new TargetedResult(source2, LIBRARY_ERRORS_READY), |
| 269 new TargetedResult(source3, LIBRARY_ERRORS_READY) |
| 270 ])); |
| 264 // get next request | 271 // get next request |
| 265 TargetedResult request = manager.getNextResult(); | 272 TargetedResult request = manager.getNextResult(); |
| 266 expect(request.target, source2); | 273 expect(request.target, source2); |
| 267 expect(request.result, LIBRARY_ERRORS_READY); | 274 expect(request.result, LIBRARY_ERRORS_READY); |
| 268 } | 275 } |
| 269 | 276 |
| 270 void test_applyPriorityTargets_isUnknown() { | 277 void test_applyPriorityTargets_isUnknown() { |
| 271 manager.applyPriorityTargets([source2, source3]); | 278 manager.applyPriorityTargets([source2, source3]); |
| 272 expect(manager.priorityResultQueue, unorderedEquals([ | 279 expect( |
| 273 new TargetedResult(source2, SOURCE_KIND), | 280 manager.priorityResultQueue, |
| 274 new TargetedResult(source3, SOURCE_KIND) | 281 unorderedEquals([ |
| 275 ])); | 282 new TargetedResult(source2, SOURCE_KIND), |
| 283 new TargetedResult(source3, SOURCE_KIND) |
| 284 ])); |
| 276 // get next request | 285 // get next request |
| 277 TargetedResult request = manager.getNextResult(); | 286 TargetedResult request = manager.getNextResult(); |
| 278 expect(request.target, source2); | 287 expect(request.target, source2); |
| 279 expect(request.result, SOURCE_KIND); | 288 expect(request.result, SOURCE_KIND); |
| 280 } | 289 } |
| 281 | 290 |
| 282 void test_getErrors() { | 291 void test_getErrors() { |
| 283 AnalysisError error1 = | 292 AnalysisError error1 = |
| 284 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); | 293 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); |
| 285 AnalysisError error2 = | 294 AnalysisError error2 = |
| 286 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); | 295 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); |
| 287 when(context.getLibrariesContaining(source1)).thenReturn([source2]); | 296 when(context.getLibrariesContaining(source1)).thenReturn([source2]); |
| 288 LineInfo lineInfo = new LineInfo([0]); | 297 LineInfo lineInfo = new LineInfo([0]); |
| 289 entry1.setValue(LINE_INFO, lineInfo, []); | 298 entry1.setValue(LINE_INFO, lineInfo, []); |
| 290 entry1.setValue(SCAN_ERRORS, <AnalysisError>[error1], []); | 299 entry1.setValue(SCAN_ERRORS, <AnalysisError>[error1], []); |
| 291 context.getCacheEntry(new LibrarySpecificUnit(source2, source1)).setValue( | 300 context |
| 292 VERIFY_ERRORS, <AnalysisError>[error2], []); | 301 .getCacheEntry(new LibrarySpecificUnit(source2, source1)) |
| 302 .setValue(VERIFY_ERRORS, <AnalysisError>[error2], []); |
| 293 AnalysisErrorInfo errorInfo = manager.getErrors(source1); | 303 AnalysisErrorInfo errorInfo = manager.getErrors(source1); |
| 294 expect(errorInfo.errors, unorderedEquals([error1, error2])); | 304 expect(errorInfo.errors, unorderedEquals([error1, error2])); |
| 295 expect(errorInfo.lineInfo, lineInfo); | 305 expect(errorInfo.lineInfo, lineInfo); |
| 296 } | 306 } |
| 297 | 307 |
| 298 void test_getErrors_hasFullList() { | 308 void test_getErrors_hasFullList() { |
| 299 AnalysisError error1 = | 309 AnalysisError error1 = |
| 300 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); | 310 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); |
| 301 AnalysisError error2 = | 311 AnalysisError error2 = |
| 302 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); | 312 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 TargetedResult request = manager.getNextResult(); | 363 TargetedResult request = manager.getNextResult(); |
| 354 expect(request.target, source2); | 364 expect(request.target, source2); |
| 355 expect(request.result, LIBRARY_ERRORS_READY); | 365 expect(request.result, LIBRARY_ERRORS_READY); |
| 356 // source1 is out, source2 is waiting | 366 // source1 is out, source2 is waiting |
| 357 expect_librarySourceQueue([source2]); | 367 expect_librarySourceQueue([source2]); |
| 358 } | 368 } |
| 359 | 369 |
| 360 void test_getNextResult_hasPriority_firstIsError() { | 370 void test_getNextResult_hasPriority_firstIsError() { |
| 361 manager.addPriorityResult(source1, SOURCE_KIND); | 371 manager.addPriorityResult(source1, SOURCE_KIND); |
| 362 manager.addPriorityResult(source2, SOURCE_KIND); | 372 manager.addPriorityResult(source2, SOURCE_KIND); |
| 363 expect(manager.priorityResultQueue, unorderedEquals([ | 373 expect( |
| 364 new TargetedResult(source1, SOURCE_KIND), | 374 manager.priorityResultQueue, |
| 365 new TargetedResult(source2, SOURCE_KIND) | 375 unorderedEquals([ |
| 366 ])); | 376 new TargetedResult(source1, SOURCE_KIND), |
| 377 new TargetedResult(source2, SOURCE_KIND) |
| 378 ])); |
| 367 // configure state and get next result | 379 // configure state and get next result |
| 368 entry1.setErrorState(caughtException, [SOURCE_KIND]); | 380 entry1.setErrorState(caughtException, [SOURCE_KIND]); |
| 369 TargetedResult request = manager.getNextResult(); | 381 TargetedResult request = manager.getNextResult(); |
| 370 expect(request.target, source2); | 382 expect(request.target, source2); |
| 371 expect(request.result, SOURCE_KIND); | 383 expect(request.result, SOURCE_KIND); |
| 372 // source1 is out, source2 is waiting | 384 // source1 is out, source2 is waiting |
| 373 expect(manager.priorityResultQueue, | 385 expect(manager.priorityResultQueue, |
| 374 unorderedEquals([new TargetedResult(source2, SOURCE_KIND)])); | 386 unorderedEquals([new TargetedResult(source2, SOURCE_KIND)])); |
| 375 } | 387 } |
| 376 | 388 |
| 377 void test_getNextResult_hasPriority_firstIsValid() { | 389 void test_getNextResult_hasPriority_firstIsValid() { |
| 378 manager.addPriorityResult(source1, SOURCE_KIND); | 390 manager.addPriorityResult(source1, SOURCE_KIND); |
| 379 manager.addPriorityResult(source2, SOURCE_KIND); | 391 manager.addPriorityResult(source2, SOURCE_KIND); |
| 380 expect(manager.priorityResultQueue, unorderedEquals([ | 392 expect( |
| 381 new TargetedResult(source1, SOURCE_KIND), | 393 manager.priorityResultQueue, |
| 382 new TargetedResult(source2, SOURCE_KIND) | 394 unorderedEquals([ |
| 383 ])); | 395 new TargetedResult(source1, SOURCE_KIND), |
| 396 new TargetedResult(source2, SOURCE_KIND) |
| 397 ])); |
| 384 // configure state and get next result | 398 // configure state and get next result |
| 385 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); | 399 entry1.setValue(SOURCE_KIND, SourceKind.LIBRARY, []); |
| 386 TargetedResult request = manager.getNextResult(); | 400 TargetedResult request = manager.getNextResult(); |
| 387 expect(request.target, source2); | 401 expect(request.target, source2); |
| 388 expect(request.result, SOURCE_KIND); | 402 expect(request.result, SOURCE_KIND); |
| 389 // source1 is out, source2 is waiting | 403 // source1 is out, source2 is waiting |
| 390 expect(manager.priorityResultQueue, | 404 expect(manager.priorityResultQueue, |
| 391 unorderedEquals([new TargetedResult(source2, SOURCE_KIND)])); | 405 unorderedEquals([new TargetedResult(source2, SOURCE_KIND)])); |
| 392 } | 406 } |
| 393 | 407 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 518 void test_resultsComputed_errors_forLibrarySpecificUnit() { | 532 void test_resultsComputed_errors_forLibrarySpecificUnit() { |
| 519 AnalysisError error1 = | 533 AnalysisError error1 = |
| 520 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); | 534 new AnalysisError(source1, 1, 0, ScannerErrorCode.MISSING_DIGIT); |
| 521 AnalysisError error2 = | 535 AnalysisError error2 = |
| 522 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); | 536 new AnalysisError(source1, 2, 0, ScannerErrorCode.MISSING_DIGIT); |
| 523 when(context.getLibrariesContaining(source1)).thenReturn([source2]); | 537 when(context.getLibrariesContaining(source1)).thenReturn([source2]); |
| 524 LineInfo lineInfo = new LineInfo([0]); | 538 LineInfo lineInfo = new LineInfo([0]); |
| 525 entry1.setValue(LINE_INFO, lineInfo, []); | 539 entry1.setValue(LINE_INFO, lineInfo, []); |
| 526 entry1.setValue(SCAN_ERRORS, <AnalysisError>[error1], []); | 540 entry1.setValue(SCAN_ERRORS, <AnalysisError>[error1], []); |
| 527 AnalysisTarget unitTarget = new LibrarySpecificUnit(source2, source1); | 541 AnalysisTarget unitTarget = new LibrarySpecificUnit(source2, source1); |
| 528 context.getCacheEntry(unitTarget).setValue( | 542 context |
| 529 VERIFY_ERRORS, <AnalysisError>[error2], []); | 543 .getCacheEntry(unitTarget) |
| 544 .setValue(VERIFY_ERRORS, <AnalysisError>[error2], []); |
| 530 // RESOLVED_UNIT is ready, set errors | 545 // RESOLVED_UNIT is ready, set errors |
| 531 manager.resultsComputed( | 546 manager.resultsComputed( |
| 532 unitTarget, {RESOLVED_UNIT: AstFactory.compilationUnit()}); | 547 unitTarget, {RESOLVED_UNIT: AstFactory.compilationUnit()}); |
| 533 // all of the errors are included | 548 // all of the errors are included |
| 534 ChangeNoticeImpl notice = context.getNotice(source1); | 549 ChangeNoticeImpl notice = context.getNotice(source1); |
| 535 expect(notice.errors, unorderedEquals([error1, error2])); | 550 expect(notice.errors, unorderedEquals([error1, error2])); |
| 536 expect(notice.lineInfo, lineInfo); | 551 expect(notice.lineInfo, lineInfo); |
| 537 } | 552 } |
| 538 | 553 |
| 539 void test_resultsComputed_errors_forSource() { | 554 void test_resultsComputed_errors_forSource() { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 557 | 572 |
| 558 void test_resultsComputed_includedParts_updatePartLibraries() { | 573 void test_resultsComputed_includedParts_updatePartLibraries() { |
| 559 Source part1 = new TestSource('part1.dart'); | 574 Source part1 = new TestSource('part1.dart'); |
| 560 Source part2 = new TestSource('part2.dart'); | 575 Source part2 = new TestSource('part2.dart'); |
| 561 Source part3 = new TestSource('part3.dart'); | 576 Source part3 = new TestSource('part3.dart'); |
| 562 Source library1 = new TestSource('library1.dart'); | 577 Source library1 = new TestSource('library1.dart'); |
| 563 Source library2 = new TestSource('library2.dart'); | 578 Source library2 = new TestSource('library2.dart'); |
| 564 _getOrCreateEntry(part1).setValue(CONTAINING_LIBRARIES, [], []); | 579 _getOrCreateEntry(part1).setValue(CONTAINING_LIBRARIES, [], []); |
| 565 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.VALID); | 580 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.VALID); |
| 566 // library1 parts | 581 // library1 parts |
| 567 manager.resultsComputed(library1, {INCLUDED_PARTS: [part1, part2]}); | 582 manager.resultsComputed(library1, { |
| 583 INCLUDED_PARTS: [part1, part2] |
| 584 }); |
| 568 expect(manager.partLibrariesMap[part1], [library1]); | 585 expect(manager.partLibrariesMap[part1], [library1]); |
| 569 expect(manager.partLibrariesMap[part2], [library1]); | 586 expect(manager.partLibrariesMap[part2], [library1]); |
| 570 expect(manager.partLibrariesMap[part3], isNull); | 587 expect(manager.partLibrariesMap[part3], isNull); |
| 571 expect(manager.libraryPartsMap[library1], [part1, part2]); | 588 expect(manager.libraryPartsMap[library1], [part1, part2]); |
| 572 expect(manager.libraryPartsMap[library2], isNull); | 589 expect(manager.libraryPartsMap[library2], isNull); |
| 573 // library2 parts | 590 // library2 parts |
| 574 manager.resultsComputed(library2, {INCLUDED_PARTS: [part2, part3]}); | 591 manager.resultsComputed(library2, { |
| 592 INCLUDED_PARTS: [part2, part3] |
| 593 }); |
| 575 expect(manager.partLibrariesMap[part1], [library1]); | 594 expect(manager.partLibrariesMap[part1], [library1]); |
| 576 expect(manager.partLibrariesMap[part2], [library1, library2]); | 595 expect(manager.partLibrariesMap[part2], [library1, library2]); |
| 577 expect(manager.partLibrariesMap[part3], [library2]); | 596 expect(manager.partLibrariesMap[part3], [library2]); |
| 578 expect(manager.libraryPartsMap[library1], [part1, part2]); | 597 expect(manager.libraryPartsMap[library1], [part1, part2]); |
| 579 expect(manager.libraryPartsMap[library2], [part2, part3]); | 598 expect(manager.libraryPartsMap[library2], [part2, part3]); |
| 580 // part1 CONTAINING_LIBRARIES | 599 // part1 CONTAINING_LIBRARIES |
| 581 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID); | 600 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID); |
| 582 } | 601 } |
| 583 | 602 |
| 584 void test_resultsComputed_noSourceKind() { | 603 void test_resultsComputed_noSourceKind() { |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 638 expect(manager.priorityResultQueue, | 657 expect(manager.priorityResultQueue, |
| 639 unorderedEquals([new TargetedResult(source2, LIBRARY_ERRORS_READY)])); | 658 unorderedEquals([new TargetedResult(source2, LIBRARY_ERRORS_READY)])); |
| 640 } | 659 } |
| 641 | 660 |
| 642 void test_resultsComputed_sourceKind_isLibrary_isPriority_computeUnit() { | 661 void test_resultsComputed_sourceKind_isLibrary_isPriority_computeUnit() { |
| 643 manager.unknownSourceQueue.addAll([source1, source2, source3]); | 662 manager.unknownSourceQueue.addAll([source1, source2, source3]); |
| 644 when(context.prioritySources).thenReturn(<Source>[source2]); | 663 when(context.prioritySources).thenReturn(<Source>[source2]); |
| 645 when(context.shouldErrorsBeAnalyzed(source2, null)).thenReturn(false); | 664 when(context.shouldErrorsBeAnalyzed(source2, null)).thenReturn(false); |
| 646 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.LIBRARY}); | 665 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.LIBRARY}); |
| 647 expect_unknownSourceQueue([source1, source3]); | 666 expect_unknownSourceQueue([source1, source3]); |
| 648 expect(manager.priorityResultQueue, unorderedEquals([ | 667 expect( |
| 649 new TargetedResult( | 668 manager.priorityResultQueue, |
| 650 new LibrarySpecificUnit(source2, source2), RESOLVED_UNIT) | 669 unorderedEquals([ |
| 651 ])); | 670 new TargetedResult( |
| 671 new LibrarySpecificUnit(source2, source2), RESOLVED_UNIT) |
| 672 ])); |
| 652 } | 673 } |
| 653 | 674 |
| 654 void test_resultsComputed_sourceKind_isPart() { | 675 void test_resultsComputed_sourceKind_isPart() { |
| 655 manager.unknownSourceQueue.addAll([source1, source2, source3]); | 676 manager.unknownSourceQueue.addAll([source1, source2, source3]); |
| 656 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART}); | 677 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART}); |
| 657 expect_librarySourceQueue([]); | 678 expect_librarySourceQueue([]); |
| 658 expect_unknownSourceQueue([source1, source3]); | 679 expect_unknownSourceQueue([source1, source3]); |
| 659 } | 680 } |
| 660 | 681 |
| 661 CacheEntry _getOrCreateEntry(Source source) { | 682 CacheEntry _getOrCreateEntry(Source source) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 } | 715 } |
| 695 | 716 |
| 696 @override | 717 @override |
| 697 ChangeNoticeImpl getNotice(Source source) { | 718 ChangeNoticeImpl getNotice(Source source) { |
| 698 return _pendingNotices.putIfAbsent( | 719 return _pendingNotices.putIfAbsent( |
| 699 source, () => new ChangeNoticeImpl(source)); | 720 source, () => new ChangeNoticeImpl(source)); |
| 700 } | 721 } |
| 701 | 722 |
| 702 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 723 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 703 } | 724 } |
| OLD | NEW |