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

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

Issue 601083005: Implement 'edit.sortMembers' request. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Forgot to add tests Created 6 years, 2 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/protocol.dart ('k') | pkg/analysis_server/test/edit/test_all.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.edit.sort_members;
6
7 import 'dart:async';
8
9 import 'package:analysis_server/src/edit/edit_domain.dart';
10 import 'package:analysis_server/src/protocol.dart';
11 import 'package:unittest/unittest.dart' hide ERROR;
12
13 import '../analysis_abstract.dart';
14 import '../mocks.dart';
15 import '../reflective_tests.dart';
16
17
18 main() {
19 groupSep = ' | ';
20 runReflectiveTests(SortMembersTest);
21 }
22
23
24 @ReflectiveTestCase()
25 class SortMembersTest extends AbstractAnalysisTest {
26 SourceFileEdit fileEdit;
27
28 @override
29 void setUp() {
30 super.setUp();
31 createProject();
32 handler = new EditDomainHandler(server);
33 }
34
35 Future test_BAD_doesNotExist() {
36 return waitForTasksFinished().then((_) {
37 Request request =
38 new EditSortMembersParams('/no/such/file.dart').toRequest('0');
39 Response response = handler.handleRequest(request);
40 expect(
41 response,
42 isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_INVALID_FILE));
43 });
44 }
45
46 Future test_BAD_hasParseError() {
47 addTestFile('''
48 main() {
49 print()
50 }
51 ''');
52 return waitForTasksFinished().then((_) {
53 Request request = new EditSortMembersParams(testFile).toRequest('0');
54 Response response = handler.handleRequest(request);
55 expect(
56 response,
57 isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_PARSE_ERRORS));
58 });
59 }
60
61 Future test_BAD_notDartFile() {
62 return waitForTasksFinished().then((_) {
63 Request request =
64 new EditSortMembersParams('/not-a-Dart-file.txt').toRequest('0');
65 Response response = handler.handleRequest(request);
66 expect(
67 response,
68 isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_INVALID_FILE));
69 });
70 }
71
72 Future test_OK_classMembers_method() {
73 addTestFile('''
74 class A {
75 c() {}
76 a() {}
77 b() {}
78 }
79 ''');
80 return _assertSorted(r'''
81 class A {
82 a() {}
83 b() {}
84 c() {}
85 }
86 ''');
87 }
88
89 Future test_OK_directives() {
90 addTestFile('''
91 library lib;
92
93 export 'dart:bbb';
94 import 'dart:bbb';
95 export 'package:bbb/bbb.dart';
96 import 'bbb/bbb.dart';
97 export 'dart:aaa';
98 export 'package:aaa/aaa.dart';
99 import 'package:bbb/bbb.dart';
100 export 'aaa/aaa.dart';
101 export 'bbb/bbb.dart';
102 import 'dart:aaa';
103 import 'package:aaa/aaa.dart';
104 import 'aaa/aaa.dart';
105 part 'bbb/bbb.dart';
106 part 'aaa/aaa.dart';
107
108 main() {
109 }
110 ''');
111 return _assertSorted(r'''
112 library lib;
113
114 import 'dart:aaa';
115 import 'dart:bbb';
116
117 import 'package:aaa/aaa.dart';
118 import 'package:bbb/bbb.dart';
119
120 import 'aaa/aaa.dart';
121 import 'bbb/bbb.dart';
122
123 export 'dart:aaa';
124 export 'dart:bbb';
125
126 export 'package:aaa/aaa.dart';
127 export 'package:bbb/bbb.dart';
128
129 export 'aaa/aaa.dart';
130 export 'bbb/bbb.dart';
131
132 part 'aaa/aaa.dart';
133 part 'bbb/bbb.dart';
134
135 main() {
136 }
137 ''');
138 }
139
140 Future test_OK_unitMembers_class() {
141 addTestFile('''
142 class C {}
143 class A {}
144 class B {}
145 ''');
146 return _assertSorted(r'''
147 class A {}
148 class B {}
149 class C {}
150 ''');
151 }
152
153 Future _assertSorted(String expectedCode) {
154 return waitForTasksFinished().then((_) {
155 _requestSort();
156 String resultCode = SourceEdit.applySequence(testCode, fileEdit.edits);
157 expect(resultCode, expectedCode);
158 });
159 }
160
161 void _requestSort() {
162 Request request = new EditSortMembersParams(testFile).toRequest('0');
163 Response response = handleSuccessfulRequest(request);
164 var result = new EditSortMembersResult.fromResponse(response);
165 fileEdit = result.edit;
166 }
167 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/protocol.dart ('k') | pkg/analysis_server/test/edit/test_all.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698