| 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 library test.edit.assists; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/constants.dart'; | 9 import 'package:analysis_server/src/constants.dart'; |
| 10 import 'package:analysis_server/src/edit/edit_domain.dart'; | 10 import 'package:analysis_server/src/edit/edit_domain.dart'; |
| 11 import 'package:analysis_server/src/protocol.dart'; | 11 import 'package:analysis_server/src/protocol.dart'; |
| 12 import 'package:analysis_server/src/protocol2.dart'; |
| 12 import 'package:analysis_server/src/services/correction/change.dart'; | 13 import 'package:analysis_server/src/services/correction/change.dart'; |
| 13 import 'package:analysis_testing/reflective_tests.dart'; | 14 import 'package:analysis_testing/reflective_tests.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'; |
| 17 | 18 |
| 18 | 19 |
| 19 main() { | 20 main() { |
| 20 groupSep = ' | '; | 21 groupSep = ' | '; |
| 21 runReflectiveTests(AssistsTest); | 22 runReflectiveTests(AssistsTest); |
| 22 } | 23 } |
| 23 | 24 |
| 24 | 25 |
| 25 @ReflectiveTestCase() | 26 @ReflectiveTestCase() |
| 26 class AssistsTest extends AbstractAnalysisTest { | 27 class AssistsTest extends AbstractAnalysisTest { |
| 27 List<Change> changes; | 28 List<Change> changes; |
| 28 | 29 |
| 29 void prepareAssists(String search, [int length = 0]) { | 30 void prepareAssists(String search, [int length = 0]) { |
| 30 int offset = findOffset(search); | 31 int offset = findOffset(search); |
| 31 prepareAssistsAt(offset, length); | 32 prepareAssistsAt(offset, length); |
| 32 } | 33 } |
| 33 | 34 |
| 34 void prepareAssistsAt(int offset, int length) { | 35 void prepareAssistsAt(int offset, int length) { |
| 35 Request request = new Request('0', EDIT_GET_ASSISTS); | 36 Request request = new EditGetAssistsParams(testFile, offset, |
| 36 request.setParameter(FILE, testFile); | 37 length).toRequest('0'); |
| 37 request.setParameter(OFFSET, offset); | |
| 38 request.setParameter(LENGTH, length); | |
| 39 Response response = handleSuccessfulRequest(request); | 38 Response response = handleSuccessfulRequest(request); |
| 40 List<Map<String, dynamic>> changeJsonList = response.getResult(ASSISTS); | 39 List<Map<String, dynamic>> changeJsonList = response.getResult(ASSISTS); |
| 41 // TODO(scheglov) consider using generated classes and decoders | 40 // TODO(scheglov) consider using generated classes and decoders |
| 42 changes = changeJsonList.map((Map<String, dynamic> changeJson) { | 41 changes = changeJsonList.map((Map<String, dynamic> changeJson) { |
| 43 Change change = new Change(changeJson[MESSAGE]); | 42 Change change = new Change(changeJson[MESSAGE]); |
| 44 changeJson[EDITS].forEach((Map<String, dynamic> fileEditJson) { | 43 changeJson[EDITS].forEach((Map<String, dynamic> fileEditJson) { |
| 45 FileEdit fileEdit = new FileEdit(fileEditJson[FILE]); | 44 FileEdit fileEdit = new FileEdit(fileEditJson[FILE]); |
| 46 change.fileEdits.add(fileEdit); | 45 change.fileEdits.add(fileEdit); |
| 47 fileEditJson[EDITS].forEach((Map<String, dynamic> json) { | 46 fileEditJson[EDITS].forEach((Map<String, dynamic> json) { |
| 48 Edit edit = new Edit(json[OFFSET], json[LENGTH], json[REPLACEMENT]); | 47 Edit edit = new Edit(json[OFFSET], json[LENGTH], json[REPLACEMENT]); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 if (change.message == message) { | 119 if (change.message == message) { |
| 121 String resultCode = | 120 String resultCode = |
| 122 Edit.applySequence(testCode, change.fileEdits[0].edits); | 121 Edit.applySequence(testCode, change.fileEdits[0].edits); |
| 123 expect(resultCode, expectedCode); | 122 expect(resultCode, expectedCode); |
| 124 return; | 123 return; |
| 125 } | 124 } |
| 126 } | 125 } |
| 127 fail("Expected to find |$message| in\n" + changes.join('\n')); | 126 fail("Expected to find |$message| in\n" + changes.join('\n')); |
| 128 } | 127 } |
| 129 } | 128 } |
| OLD | NEW |