| 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.analysis.reanalyze; | 5 library test.analysis.reanalyze; | 
| 6 | 6 | 
| 7 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 7 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 
| 8 import 'package:analysis_server/src/constants.dart'; | 8 import 'package:analysis_server/src/constants.dart'; | 
| 9 import 'package:analyzer/src/generated/engine.dart'; | 9 import 'package:analyzer/src/generated/engine.dart'; | 
| 10 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 10 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 37     AnalysisContext oldContext = contexts[0]; | 37     AnalysisContext oldContext = contexts[0]; | 
| 38     // Reanalyze should cause a brand new context to be built. | 38     // Reanalyze should cause a brand new context to be built. | 
| 39     Request request = new Request("0", ANALYSIS_REANALYZE); | 39     Request request = new Request("0", ANALYSIS_REANALYZE); | 
| 40     handleSuccessfulRequest(request); | 40     handleSuccessfulRequest(request); | 
| 41     contexts = server.folderMap.values.toList(); | 41     contexts = server.folderMap.values.toList(); | 
| 42     expect(contexts, hasLength(1)); | 42     expect(contexts, hasLength(1)); | 
| 43     AnalysisContext newContext = contexts[0]; | 43     AnalysisContext newContext = contexts[0]; | 
| 44     expect(newContext, isNot(same(oldContext))); | 44     expect(newContext, isNot(same(oldContext))); | 
| 45   } | 45   } | 
| 46 | 46 | 
| 47   test_reanalyze_with_overlay() { | 47   test_reanalyze_with_overlay() async { | 
| 48     createProject(); | 48     createProject(); | 
| 49     resourceProvider.newFolder(testFolder); | 49     resourceProvider.newFolder(testFolder); | 
| 50     resourceProvider.newFile(testFile, 'main() {}'); | 50     resourceProvider.newFile(testFile, 'main() {}'); | 
| 51     return waitForTasksFinished().then((_) { | 51     await waitForTasksFinished(); | 
| 52       // Update the content with an overlay that contains a syntax error. | 52     // Update the content with an overlay that contains a syntax error. | 
| 53       server.updateContent('1', {testFile: new AddContentOverlay('main() {')}); | 53     server.updateContent('1', {testFile: new AddContentOverlay('main() {')}); | 
| 54       return waitForTasksFinished(); | 54     await waitForTasksFinished(); | 
| 55     }).then((_) { | 55     // Verify that the syntax error was detected. | 
| 56       // Verify that the syntax error was detected. | 56     { | 
| 57       List<AnalysisError> errors = filesErrors[testFile]; | 57       List<AnalysisError> errors = filesErrors[testFile]; | 
| 58       expect(errors, hasLength(1)); | 58       expect(errors, hasLength(1)); | 
| 59       // Remove testFile from filesErrors so that we'll notice when the file is | 59     } | 
| 60       // re-analyzed. | 60     // Remove testFile from filesErrors so that we'll notice when the file is | 
| 61       filesErrors.remove(testFile); | 61     // re-analyzed. | 
| 62       // Reanalyze. | 62     filesErrors.remove(testFile); | 
| 63       server.reanalyze(null); | 63     // Reanalyze. | 
| 64       return waitForTasksFinished(); | 64     server.reanalyze(null); | 
| 65     }).then((_) { | 65     await waitForTasksFinished(); | 
| 66       // The file should have been reanalyzed. | 66     // The file should have been reanalyzed. | 
| 67       expect(filesErrors, contains(testFile)); | 67     expect(filesErrors, contains(testFile)); | 
| 68       // Verify that the syntax error is present (this indicates that the | 68     // Verify that the syntax error is present (this indicates that the | 
| 69       // content introduced by the call to updateContent is still in effect). | 69     // content introduced by the call to updateContent is still in effect). | 
|  | 70     { | 
| 70       List<AnalysisError> errors = filesErrors[testFile]; | 71       List<AnalysisError> errors = filesErrors[testFile]; | 
| 71       expect(errors, hasLength(1)); | 72       expect(errors, hasLength(1)); | 
| 72     }); | 73     } | 
| 73   } | 74   } | 
| 74 } | 75 } | 
| OLD | NEW | 
|---|