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

Side by Side Diff: pkg/analyzer/test/src/task/inputs_test.dart

Issue 997383002: Add MapBasedTaskInput. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updates for review comments. Created 5 years, 9 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/analyzer/lib/src/task/inputs.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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.src.task.inputs_test; 5 library test.src.task.inputs_test;
6 6
7 import 'package:analyzer/src/task/inputs.dart'; 7 import 'package:analyzer/src/task/inputs.dart';
8 import 'package:analyzer/src/task/model.dart'; 8 import 'package:analyzer/src/task/model.dart';
9 import 'package:analyzer/task/model.dart'; 9 import 'package:analyzer/task/model.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
11 11
12 import '../../generated/test_support.dart'; 12 import '../../generated/test_support.dart';
13 import '../../reflective_tests.dart'; 13 import '../../reflective_tests.dart';
14 14
15 main() { 15 main() {
16 groupSep = ' | '; 16 groupSep = ' | ';
17 runReflectiveTests(ListBasedTaskInputTest); 17 runReflectiveTests(ListBasedTaskInputTest);
18 runReflectiveTests(ListBasedTaskInputBuilderTest); 18 runReflectiveTests(ListBasedTaskInputBuilderTest);
19 runReflectiveTests(MapBasedTaskInputBuilderTest);
20 runReflectiveTests(MapBasedTaskInputTest);
19 runReflectiveTests(SimpleTaskInputTest); 21 runReflectiveTests(SimpleTaskInputTest);
20 runReflectiveTests(SimpleTaskInputBuilderTest); 22 runReflectiveTests(SimpleTaskInputBuilderTest);
21 runReflectiveTests(TopLevelTaskInputBuilderTest); 23 runReflectiveTests(TopLevelTaskInputBuilderTest);
22 } 24 }
23 25
24 @reflectiveTest 26 @reflectiveTest
25 class ListBasedTaskInputBuilderTest extends EngineTestCase { 27 class ListBasedTaskInputBuilderTest extends EngineTestCase {
26 static final AnalysisTarget target1 = new TestSource(); 28 static final AnalysisTarget target1 = new TestSource();
27 static final ResultDescriptorImpl result1 = 29 static final ResultDescriptorImpl result1 =
28 new ResultDescriptorImpl('result1', null); 30 new ResultDescriptorImpl('result1', null);
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 154
153 test_createBuilder() { 155 test_createBuilder() {
154 SimpleTaskInput baseAccessor = result.inputFor(target); 156 SimpleTaskInput baseAccessor = result.inputFor(target);
155 GenerateTaskInputs generate = (object) {}; 157 GenerateTaskInputs generate = (object) {};
156 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); 158 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate);
157 expect(input.createBuilder(), isNotNull); 159 expect(input.createBuilder(), isNotNull);
158 } 160 }
159 } 161 }
160 162
161 @reflectiveTest 163 @reflectiveTest
164 class MapBasedTaskInputBuilderTest extends EngineTestCase {
165 static final AnalysisTarget target1 = new TestSource('target1');
166 static final ResultDescriptorImpl result1 =
167 new ResultDescriptorImpl('result1', null);
168 static final ResultDescriptorImpl result2 =
169 new ResultDescriptorImpl('result2', null);
170 static final MapBasedTaskInput input = new MapBasedTaskInput(
171 result1.inputFor(target1), (element) => result2.inputFor(element));
172
173 test_create() {
174 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
175 expect(builder, isNotNull);
176 expect(builder.input, input);
177 }
178
179 test_currentResult_afterComplete() {
180 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
181 builder.moveNext();
182 builder.currentValue = [];
183 builder.moveNext();
184 expect(builder.currentResult, null);
185 }
186
187 test_currentResult_afterOneMoveNext() {
188 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
189 builder.moveNext();
190 expect(builder.currentResult, result1);
191 }
192
193 test_currentResult_beforeMoveNext() {
194 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
195 expect(builder.currentResult, null);
196 }
197
198 test_currentTarget_afterComplete() {
199 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
200 builder.moveNext();
201 builder.currentValue = [];
202 builder.moveNext();
203 expect(builder.currentTarget, null);
204 }
205
206 test_currentTarget_afterOneMoveNext() {
207 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
208 builder.moveNext();
209 expect(builder.currentTarget, target1);
210 }
211
212 test_currentTarget_beforeMoveNext() {
213 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
214 expect(builder.currentTarget, null);
215 }
216
217 test_currentValue_afterOneMoveNext() {
218 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
219 builder.moveNext();
220 builder.currentValue = [];
221 }
222
223 test_currentValue_beforeMoveNext() {
224 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
225 expect(() {
226 builder.currentValue = [];
227 }, throwsStateError);
228 }
229
230 test_inputValue_afterComplete() {
231 AnalysisTarget target2 = new TestSource('target2');
232 AnalysisTarget target3 = new TestSource('target3');
233 String value2 = 'value2';
234 String value3 = 'value3';
235 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
236 builder.moveNext(); // Advance to requesting the list
237 builder.currentValue = [target2, target3];
238 builder.moveNext(); // Advance to requesting result2 for target2
239 builder.currentValue = value2;
240 builder.moveNext(); // Advance to requesting result2 for target3
241 builder.currentValue = value3;
242 builder.moveNext(); // Advance to the end
243 var inputValue = builder.inputValue;
244 expect(inputValue, new isInstanceOf<Map>());
245 expect(inputValue.length, 2);
246 expect(inputValue, containsPair(target2, value2));
247 expect(inputValue, containsPair(target3, value3));
248 }
249
250 test_inputValue_afterOneMoveNext() {
251 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
252 builder.moveNext();
253 expect(() => builder.inputValue, throwsStateError);
254 }
255
256 test_inputValue_beforeMoveNext() {
257 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
258 expect(() => builder.inputValue, throwsStateError);
259 }
260
261 test_moveNext_withoutSet() {
262 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
263 expect(builder.moveNext(), true);
264 expect(() => builder.moveNext(), throwsStateError);
265 }
266
267 test_moveNext_withSet() {
268 MapBasedTaskInputBuilder builder = new MapBasedTaskInputBuilder(input);
269 expect(builder.moveNext(), true);
270 builder.currentValue = [];
271 expect(builder.moveNext(), false);
272 expect(builder.moveNext(), false);
273 }
274 }
275
276 @reflectiveTest
277 class MapBasedTaskInputTest extends EngineTestCase {
278 static final AnalysisTarget target = new TestSource();
279 static final ResultDescriptorImpl result =
280 new ResultDescriptorImpl('result', null);
281
282 test_create() {
283 SimpleTaskInput baseAccessor = result.inputFor(target);
284 GenerateTaskInputs generate = (object) {};
285 MapBasedTaskInput input = new MapBasedTaskInput(baseAccessor, generate);
286 expect(input, isNotNull);
287 expect(input.baseAccessor, baseAccessor);
288 expect(input.generateTaskInputs, equals(generate));
289 }
290
291 test_createBuilder() {
292 SimpleTaskInput baseAccessor = result.inputFor(target);
293 GenerateTaskInputs generate = (object) {};
294 MapBasedTaskInput input = new MapBasedTaskInput(baseAccessor, generate);
295 expect(input.createBuilder(), isNotNull);
296 }
297 }
298
299 @reflectiveTest
162 class SimpleTaskInputBuilderTest extends EngineTestCase { 300 class SimpleTaskInputBuilderTest extends EngineTestCase {
163 static final AnalysisTarget target = new TestSource(); 301 static final AnalysisTarget target = new TestSource();
164 static final ResultDescriptorImpl result = 302 static final ResultDescriptorImpl result =
165 new ResultDescriptorImpl('result', null); 303 new ResultDescriptorImpl('result', null);
166 static final SimpleTaskInput input = new SimpleTaskInput(target, result); 304 static final SimpleTaskInput input = new SimpleTaskInput(target, result);
167 305
168 test_create() { 306 test_create() {
169 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 307 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
170 expect(builder, isNotNull); 308 expect(builder, isNotNull);
171 expect(builder.input, input); 309 expect(builder.input, input);
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 test_moveNext_withSet() { 546 test_moveNext_withSet() {
409 Map<String, TaskInput> inputDescriptors = {'one': input1}; 547 Map<String, TaskInput> inputDescriptors = {'one': input1};
410 TopLevelTaskInputBuilder builder = 548 TopLevelTaskInputBuilder builder =
411 new TopLevelTaskInputBuilder(inputDescriptors); 549 new TopLevelTaskInputBuilder(inputDescriptors);
412 expect(builder.moveNext(), true); 550 expect(builder.moveNext(), true);
413 builder.currentValue = 'value1'; 551 builder.currentValue = 'value1';
414 expect(builder.moveNext(), false); 552 expect(builder.moveNext(), false);
415 expect(builder.moveNext(), false); 553 expect(builder.moveNext(), false);
416 } 554 }
417 } 555 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/task/inputs.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698