| 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.assists; | 5 import 'dart:async'; |
| 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/edit/edit_domain.dart'; | 8 import 'package:analysis_server/src/edit/edit_domain.dart'; |
| 9 import 'package:analysis_server/src/plugin/plugin_manager.dart'; |
| 10 import 'package:analyzer_plugin/protocol/protocol.dart' as plugin; |
| 11 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; |
| 12 import 'package:analyzer_plugin/src/protocol/protocol_internal.dart' as plugin; |
| 9 import 'package:plugin/manager.dart'; | 13 import 'package:plugin/manager.dart'; |
| 10 import 'package:test/test.dart'; | 14 import 'package:test/test.dart'; |
| 11 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 15 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 12 | 16 |
| 13 import '../analysis_abstract.dart'; | 17 import '../analysis_abstract.dart'; |
| 14 | 18 |
| 15 main() { | 19 main() { |
| 16 defineReflectiveSuite(() { | 20 defineReflectiveSuite(() { |
| 17 defineReflectiveTests(AssistsTest); | 21 defineReflectiveTests(AssistsTest); |
| 18 }); | 22 }); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 30 prepareAssistsAt(int offset, int length) async { | 34 prepareAssistsAt(int offset, int length) async { |
| 31 Request request = | 35 Request request = |
| 32 new EditGetAssistsParams(testFile, offset, length).toRequest('0'); | 36 new EditGetAssistsParams(testFile, offset, length).toRequest('0'); |
| 33 Response response = await waitResponse(request); | 37 Response response = await waitResponse(request); |
| 34 var result = new EditGetAssistsResult.fromResponse(response); | 38 var result = new EditGetAssistsResult.fromResponse(response); |
| 35 changes = result.assists; | 39 changes = result.assists; |
| 36 } | 40 } |
| 37 | 41 |
| 38 @override | 42 @override |
| 39 void setUp() { | 43 void setUp() { |
| 44 enableNewAnalysisDriver = true; |
| 40 super.setUp(); | 45 super.setUp(); |
| 41 createProject(); | 46 createProject(); |
| 42 ExtensionManager manager = new ExtensionManager(); | 47 ExtensionManager manager = new ExtensionManager(); |
| 43 manager.processPlugins([server.serverPlugin]); | 48 manager.processPlugins([server.serverPlugin]); |
| 44 handler = new EditDomainHandler(server); | 49 handler = new EditDomainHandler(server); |
| 45 } | 50 } |
| 46 | 51 |
| 52 test_fromPlugins() async { |
| 53 PluginInfo info = new PluginInfo('a', 'b', 'c', null, null); |
| 54 String message = 'From a plugin'; |
| 55 plugin.PrioritizedSourceChange change = new plugin.PrioritizedSourceChange( |
| 56 5, |
| 57 new plugin.SourceChange(message, edits: <plugin.SourceFileEdit>[ |
| 58 new plugin.SourceFileEdit('', 0, |
| 59 edits: <plugin.SourceEdit>[new plugin.SourceEdit(0, 0, 'x')]) |
| 60 ])); |
| 61 plugin.EditGetAssistsResult result = new plugin.EditGetAssistsResult( |
| 62 <plugin.PrioritizedSourceChange>[change]); |
| 63 pluginManager.broadcastResults = <PluginInfo, Future<plugin.Response>>{ |
| 64 info: new Future.value(result.toResponse('-')) |
| 65 }; |
| 66 |
| 67 addTestFile('main() {}'); |
| 68 await waitForTasksFinished(); |
| 69 await prepareAssists('in('); |
| 70 _assertHasChange(message, 'xmain() {}'); |
| 71 } |
| 72 |
| 47 test_removeTypeAnnotation() async { | 73 test_removeTypeAnnotation() async { |
| 48 addTestFile(''' | 74 addTestFile(''' |
| 49 main() { | 75 main() { |
| 50 int v = 1; | 76 int v = 1; |
| 51 } | 77 } |
| 52 '''); | 78 '''); |
| 53 await waitForTasksFinished(); | 79 await waitForTasksFinished(); |
| 54 await prepareAssists('v ='); | 80 await prepareAssists('v ='); |
| 55 _assertHasChange( | 81 _assertHasChange( |
| 56 'Remove type annotation', | 82 'Remove type annotation', |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 if (change.message == message) { | 133 if (change.message == message) { |
| 108 String resultCode = | 134 String resultCode = |
| 109 SourceEdit.applySequence(testCode, change.edits[0].edits); | 135 SourceEdit.applySequence(testCode, change.edits[0].edits); |
| 110 expect(resultCode, expectedCode); | 136 expect(resultCode, expectedCode); |
| 111 return; | 137 return; |
| 112 } | 138 } |
| 113 } | 139 } |
| 114 fail("Expected to find |$message| in\n" + changes.join('\n')); | 140 fail("Expected to find |$message| in\n" + changes.join('\n')); |
| 115 } | 141 } |
| 116 } | 142 } |
| OLD | NEW |