Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Side by Side Diff: pkg/analysis_server/test/edit/fixes_test.dart

Issue 1145443003: Issue 23477. Fix for Quick Fixes in overlay-only files. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/analysis_server/lib/src/analysis_server.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/analysis_server.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698