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 |