| 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.edit.fixes; | 5 library test.edit.fixes; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/domain_analysis.dart'; |
| 9 import 'package:analysis_server/src/edit/edit_domain.dart'; | 10 import 'package:analysis_server/src/edit/edit_domain.dart'; |
| 10 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 11 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
| 11 import 'package:analysis_server/src/protocol.dart'; | 12 import 'package:analysis_server/src/protocol.dart'; |
| 12 import 'package:plugin/manager.dart'; | 13 import 'package:plugin/manager.dart'; |
| 13 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 14 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 14 import 'package:unittest/unittest.dart' hide ERROR; | 15 import 'package:unittest/unittest.dart' hide ERROR; |
| 15 | 16 |
| 16 import '../analysis_abstract.dart'; | 17 import '../analysis_abstract.dart'; |
| 18 import '../mocks.dart'; |
| 17 | 19 |
| 18 main() { | 20 main() { |
| 19 groupSep = ' | '; | 21 groupSep = ' | '; |
| 20 defineReflectiveTests(FixesTest); | 22 defineReflectiveTests(FixesTest); |
| 21 } | 23 } |
| 22 | 24 |
| 23 @reflectiveTest | 25 @reflectiveTest |
| 24 class FixesTest extends AbstractAnalysisTest { | 26 class FixesTest extends AbstractAnalysisTest { |
| 25 @override | 27 @override |
| 26 void setUp() { | 28 void setUp() { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 // print(10) | 72 // print(10) |
| 71 { | 73 { |
| 72 List<AnalysisErrorFixes> errorFixes = _getFixesAt('print(10)'); | 74 List<AnalysisErrorFixes> errorFixes = _getFixesAt('print(10)'); |
| 73 expect(errorFixes, hasLength(2)); | 75 expect(errorFixes, hasLength(2)); |
| 74 _isSyntacticErrorWithSingleFix(errorFixes[0]); | 76 _isSyntacticErrorWithSingleFix(errorFixes[0]); |
| 75 _isSyntacticErrorWithSingleFix(errorFixes[1]); | 77 _isSyntacticErrorWithSingleFix(errorFixes[1]); |
| 76 } | 78 } |
| 77 }); | 79 }); |
| 78 } | 80 } |
| 79 | 81 |
| 82 Future test_overlayOnlyFile() { |
| 83 // add an overlay-only file |
| 84 { |
| 85 testCode = ''' |
| 86 main() { |
| 87 print(1) |
| 88 } |
| 89 '''; |
| 90 Request request = new AnalysisUpdateContentParams( |
| 91 {testFile: new AddContentOverlay(testCode)}).toRequest('0'); |
| 92 Response response = |
| 93 new AnalysisDomainHandler(server).handleRequest(request); |
| 94 expect(response, isResponseSuccess('0')); |
| 95 } |
| 96 // ask for fixes |
| 97 return waitForTasksFinished().then((_) { |
| 98 List<AnalysisErrorFixes> errorFixes = _getFixesAt('print(1)'); |
| 99 expect(errorFixes, hasLength(1)); |
| 100 _isSyntacticErrorWithSingleFix(errorFixes[0]); |
| 101 }); |
| 102 } |
| 103 |
| 80 List<AnalysisErrorFixes> _getFixes(int offset) { | 104 List<AnalysisErrorFixes> _getFixes(int offset) { |
| 81 Request request = new EditGetFixesParams(testFile, offset).toRequest('0'); | 105 Request request = new EditGetFixesParams(testFile, offset).toRequest('0'); |
| 82 Response response = handleSuccessfulRequest(request); | 106 Response response = handleSuccessfulRequest(request); |
| 83 var result = new EditGetFixesResult.fromResponse(response); | 107 var result = new EditGetFixesResult.fromResponse(response); |
| 84 return result.fixes; | 108 return result.fixes; |
| 85 } | 109 } |
| 86 | 110 |
| 87 List<AnalysisErrorFixes> _getFixesAt(String search) { | 111 List<AnalysisErrorFixes> _getFixesAt(String search) { |
| 88 int offset = findOffset(search); | 112 int offset = findOffset(search); |
| 89 return _getFixes(offset); | 113 return _getFixes(offset); |
| 90 } | 114 } |
| 91 | 115 |
| 92 void _isSyntacticErrorWithSingleFix(AnalysisErrorFixes fixes) { | 116 void _isSyntacticErrorWithSingleFix(AnalysisErrorFixes fixes) { |
| 93 AnalysisError error = fixes.error; | 117 AnalysisError error = fixes.error; |
| 94 expect(error.severity, AnalysisErrorSeverity.ERROR); | 118 expect(error.severity, AnalysisErrorSeverity.ERROR); |
| 95 expect(error.type, AnalysisErrorType.SYNTACTIC_ERROR); | 119 expect(error.type, AnalysisErrorType.SYNTACTIC_ERROR); |
| 96 expect(fixes.fixes, hasLength(1)); | 120 expect(fixes.fixes, hasLength(1)); |
| 97 } | 121 } |
| 98 } | 122 } |
| OLD | NEW |