| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'dart:async'; |
| 6 |
| 5 import 'package:analysis_server/protocol/protocol_generated.dart'; | 7 import 'package:analysis_server/protocol/protocol_generated.dart'; |
| 6 import 'package:analyzer_plugin/protocol/protocol_common.dart'; | 8 import 'package:analyzer_plugin/protocol/protocol_common.dart'; |
| 7 import 'package:test/test.dart'; | 9 import 'package:test/test.dart'; |
| 8 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 10 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 9 | 11 |
| 10 import '../support/integration_tests.dart'; | 12 import '../support/integration_tests.dart'; |
| 11 | 13 |
| 12 main() { | 14 main() { |
| 13 defineReflectiveSuite(() { | 15 defineReflectiveSuite(() { |
| 14 defineReflectiveTests(GetFixesTest); | 16 defineReflectiveTests(GetFixesTest); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 40 // apply the fix, expect that the new code has no errors | 42 // apply the fix, expect that the new code has no errors |
| 41 SourceChange change = fix.fixes.singleWhere( | 43 SourceChange change = fix.fixes.singleWhere( |
| 42 (SourceChange change) => change.message.startsWith('Import ')); | 44 (SourceChange change) => change.message.startsWith('Import ')); |
| 43 expect(change.edits, hasLength(1)); | 45 expect(change.edits, hasLength(1)); |
| 44 expect(change.edits.first.edits, hasLength(1)); | 46 expect(change.edits.first.edits, hasLength(1)); |
| 45 SourceEdit edit = change.edits.first.edits.first; | 47 SourceEdit edit = change.edits.first.edits.first; |
| 46 text = text.replaceRange(edit.offset, edit.end, edit.replacement); | 48 text = text.replaceRange(edit.offset, edit.end, edit.replacement); |
| 47 writeFile(pathname, text); | 49 writeFile(pathname, text); |
| 48 | 50 |
| 49 await analysisFinished; | 51 await analysisFinished; |
| 52 // The errors (at least sometimes) don't get sent until after analysis has |
| 53 // completed. Wait long enough to see whether new errors are reported. |
| 54 await new Future.delayed(new Duration(milliseconds: 1000)); |
| 50 expect(currentAnalysisErrors[pathname], isEmpty); | 55 expect(currentAnalysisErrors[pathname], isEmpty); |
| 51 } | 56 } |
| 52 | 57 |
| 53 test_no_fixes() async { | 58 test_no_fixes() async { |
| 54 String pathname = sourcePath('test.dart'); | 59 String pathname = sourcePath('test.dart'); |
| 55 String text = r''' | 60 String text = r''' |
| 56 import 'dart:async'; | 61 import 'dart:async'; |
| 57 | 62 |
| 58 Future f; | 63 Future f; |
| 59 '''; | 64 '''; |
| 60 writeFile(pathname, text); | 65 writeFile(pathname, text); |
| 61 standardAnalysisSetup(); | 66 standardAnalysisSetup(); |
| 62 | 67 |
| 63 EditGetFixesResult result = | 68 EditGetFixesResult result = |
| 64 await sendEditGetFixes(pathname, text.indexOf('Future f')); | 69 await sendEditGetFixes(pathname, text.indexOf('Future f')); |
| 65 expect(result.fixes, isEmpty); | 70 expect(result.fixes, isEmpty); |
| 66 } | 71 } |
| 67 } | 72 } |
| OLD | NEW |