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

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

Issue 812733004: Initial task support (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.src.task.inputs_test;
6
7 import 'package:analyzer/src/task/inputs.dart';
8 import 'package:analyzer/src/task/model.dart';
9 import 'package:analyzer/src/task/targets.dart';
10 import 'package:unittest/unittest.dart';
11
12 import '../../generated/test_support.dart';
13 import '../../reflective_tests.dart';
14 import 'package:analyzer/task/model.dart';
15
16 main() {
17 groupSep = ' | ';
18 runReflectiveTests(ListBasedTaskInputTest);
19 runReflectiveTests(ListBasedTaskInputBuilderTest);
20 runReflectiveTests(SimpleTaskInputTest);
21 runReflectiveTests(SimpleTaskInputBuilderTest);
22 runReflectiveTests(TopLevelTaskInputBuilderTest);
23 }
24
25 @reflectiveTest
26 class ListBasedTaskInputBuilderTest extends EngineTestCase {
27 static final SourceTarget target1 = new SourceTarget(null);
28 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1' );
29 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2' );
30 static final ListBasedTaskInput input =
31 new ListBasedTaskInput(result1.inputFor(target1), (element) => result2.inp utFor(element));
32
33 test_create() {
34 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
35 expect(builder, isNotNull);
36 expect(builder.input, input);
37 }
38
39 test_currentResult_afterOneMoveNext() {
40 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
41 builder.moveNext();
42 expect(builder.currentResult, result1);
43 }
44
45 test_currentResult_afterComplete() {
46 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
47 builder.moveNext();
48 builder.currentValue = [];
49 builder.moveNext();
50 expect(builder.currentResult, null);
51 }
52
53 test_currentResult_beforeMoveNext() {
54 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
55 expect(builder.currentResult, null);
56 }
57
58 test_currentTarget_afterOneMoveNext() {
59 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
60 builder.moveNext();
61 expect(builder.currentTarget, target1);
62 }
63
64 test_currentTarget_afterComplete() {
65 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
66 builder.moveNext();
67 builder.currentValue = [];
68 builder.moveNext();
69 expect(builder.currentTarget, null);
70 }
71
72 test_currentTarget_beforeMoveNext() {
73 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
74 expect(builder.currentTarget, null);
75 }
76
77 test_currentValue_afterOneMoveNext() {
78 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
79 builder.moveNext();
80 builder.currentValue = [];
81 }
82
83 test_currentValue_beforeMoveNext() {
84 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
85 expect(() {
86 builder.currentValue = [];
87 }, throwsStateError);
88 }
89
90 test_inputValue_afterOneMoveNext() {
91 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
92 builder.moveNext();
93 expect(() => builder.inputValue, throwsStateError);
94 }
95
96 test_inputValue_afterComplete() {
97 SourceTarget target2 = new SourceTarget(null);
98 SourceTarget target3 = new SourceTarget(null);
99 String value2 = 'value2';
100 String value3 = 'value3';
101 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
102 builder.moveNext(); // Advance to requesting the list
103 builder.currentValue = [target2, target3];
104 builder.moveNext(); // Advance to requesting result2 for target2
105 builder.currentValue = value2;
106 builder.moveNext(); // Advance to requesting result2 for target3
107 builder.currentValue = value3;
108 builder.moveNext(); // Advance to the end
109 var inputValue = builder.inputValue;
110 expect(inputValue, new isInstanceOf<List>());
111 List list = inputValue;
112 expect(list.length, 2);
113 expect(list[0], value2);
114 expect(list[1], value3);
115 }
116
117 test_inputValue_beforeMoveNext() {
118 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
119 expect(() => builder.inputValue, throwsStateError);
120 }
121
122 test_moveNext_withoutSet() {
123 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
124 expect(builder.moveNext(), true);
125 expect(() => builder.moveNext(), throwsStateError);
126 }
127
128 test_moveNext_withSet() {
129 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
130 expect(builder.moveNext(), true);
131 builder.currentValue = [];
132 expect(builder.moveNext(), false);
133 expect(builder.moveNext(), false);
134 }
135 }
136
137 @reflectiveTest
138 class ListBasedTaskInputTest extends EngineTestCase {
139 static final SourceTarget target = new SourceTarget(null);
140 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result');
141
142 test_create() {
143 SimpleTaskInput baseAccessor = result.inputFor(target);
144 GenerateTaskInputs generate = (object) {};
145 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate);
146 expect(input, isNotNull);
147 expect(input.baseAccessor, baseAccessor);
148 expect(input.generateTaskInputs, equals(generate));
149 }
150
151 test_createBuilder() {
152 SimpleTaskInput baseAccessor = result.inputFor(target);
153 GenerateTaskInputs generate = (object) {};
154 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate);
155 expect(input.createBuilder(), isNotNull);
156 }
157 }
158
159 @reflectiveTest
160 class SimpleTaskInputBuilderTest extends EngineTestCase {
161 static final SourceTarget target = new SourceTarget(null);
162 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result');
163 static final SimpleTaskInput input = new SimpleTaskInput(target, result);
164
165 test_create() {
166 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
167 expect(builder, isNotNull);
168 expect(builder.input, input);
169 }
170
171 test_currentResult_afterOneMoveNext() {
172 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
173 builder.moveNext();
174 expect(builder.currentResult, result);
175 }
176
177 test_currentResult_afterComplete() {
178 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
179 builder.moveNext();
180 builder.currentValue = 'value';
181 builder.moveNext();
182 expect(builder.currentResult, null);
183 }
184
185 test_currentResult_beforeMoveNext() {
186 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
187 expect(builder.currentResult, null);
188 }
189
190 test_currentTarget_afterOneMoveNext() {
191 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
192 builder.moveNext();
193 expect(builder.currentTarget, target);
194 }
195
196 test_currentTarget_afterComplete() {
197 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
198 builder.moveNext();
199 builder.currentValue = 'value';
200 builder.moveNext();
201 expect(builder.currentTarget, null);
202 }
203
204 test_currentTarget_beforeMoveNext() {
205 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
206 expect(builder.currentTarget, null);
207 }
208
209 test_currentValue_afterOneMoveNext() {
210 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
211 builder.moveNext();
212 builder.currentValue = 'value';
213 }
214
215 test_currentValue_beforeMoveNext() {
216 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
217 expect(() {
218 builder.currentValue = 'value';
219 }, throwsStateError);
220 }
221
222 test_inputValue_afterOneMoveNext() {
223 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
224 builder.moveNext();
225 expect(() => builder.inputValue, throwsStateError);
226 }
227
228 test_inputValue_afterComplete() {
229 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
230 builder.moveNext();
231 String value = 'value';
232 builder.currentValue = value;
233 builder.moveNext();
234 expect(builder.inputValue, value);
235 }
236
237 test_inputValue_beforeMoveNext() {
238 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
239 expect(() => builder.inputValue, throwsStateError);
240 }
241
242 test_moveNext_withoutSet() {
243 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
244 expect(builder.moveNext(), true);
245 expect(() => builder.moveNext(), throwsStateError);
246 }
247
248 test_moveNext_withSet() {
249 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
250 expect(builder.moveNext(), true);
251 builder.currentValue = 'value';
252 expect(builder.moveNext(), false);
253 expect(builder.moveNext(), false);
254 }
255 }
256
257 @reflectiveTest
258 class SimpleTaskInputTest extends EngineTestCase {
259 static final SourceTarget target = new SourceTarget(null);
260 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result');
261
262 test_create() {
263 SimpleTaskInput input = new SimpleTaskInput(target, result);
264 expect(input, isNotNull);
265 expect(input.target, target);
266 expect(input.result, result);
267 }
268
269 test_createBuilder() {
270 SimpleTaskInput input = new SimpleTaskInput(target, result);
271 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>());
272 }
273 }
274
275 @reflectiveTest
276 class TopLevelTaskInputBuilderTest extends EngineTestCase {
277 static final SourceTarget target = new SourceTarget(null);
278 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1' );
279 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2' );
280 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1);
281 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2);
282
283 test_create() {
284 Map<String, TaskInput> inputDescriptors = {};
285 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
286 expect(builder, isNotNull);
287 expect(builder.inputDescriptors, inputDescriptors);
288 }
289
290 test_currentResult_afterOneMoveNext() {
291 Map<String, TaskInput> inputDescriptors = {'one' : input1, 'two' : input2};
292 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
293 builder.moveNext();
294 expect(builder.currentResult, result1);
295 }
296
297 test_currentResult_afterComplete() {
298 Map<String, TaskInput> inputDescriptors = {'one' : input1};
299 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
300 builder.moveNext();
301 builder.currentValue = 'value1';
302 builder.moveNext();
303 expect(builder.currentResult, null);
304 }
305
306 test_currentResult_beforeMoveNext() {
307 Map<String, TaskInput> inputDescriptors = {};
308 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
309 expect(builder.currentResult, null);
310 }
311
312 test_currentTarget_afterOneMoveNext() {
313 Map<String, TaskInput> inputDescriptors = {'one' : input1};
314 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
315 builder.moveNext();
316 expect(builder.currentTarget, target);
317 }
318
319 test_currentTarget_afterComplete() {
320 Map<String, TaskInput> inputDescriptors = {'one' : input1};
321 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
322 builder.moveNext();
323 builder.currentValue = 'value1';
324 builder.moveNext();
325 expect(builder.currentTarget, null);
326 }
327
328 test_currentTarget_beforeMoveNext() {
329 Map<String, TaskInput> inputDescriptors = {};
330 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
331 expect(builder.currentTarget, null);
332 }
333
334 test_currentValue_afterOneMoveNext() {
335 Map<String, TaskInput> inputDescriptors = {'one' : input1};
336 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
337 builder.moveNext();
338 builder.currentValue = 'value1';
339 }
340
341 test_currentValue_beforeMoveNext() {
342 Map<String, TaskInput> inputDescriptors = {'one' : input1};
343 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
344 expect(() {
345 builder.currentValue = 'value1';
346 }, throwsStateError);
347 }
348
349 test_inputValue_afterOneMoveNext() {
350 Map<String, TaskInput> inputDescriptors = {'one' : input1};
351 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
352 builder.moveNext();
353 expect(() => builder.inputValue, throwsStateError);
354 }
355
356 test_inputValue_afterComplete() {
357 String key1 = 'one';
358 String key2 = 'two';
359 String value1 = 'value1';
360 String value2 = 'value2';
361 Map<String, TaskInput> inputDescriptors = {key1 : input1, key2 : input2};
362 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
363 builder.moveNext(); // Advance to requesting result1 for target
364 builder.currentValue = value1;
365 builder.moveNext(); // Advance to requesting result2 for target
366 builder.currentValue = value2;
367 builder.moveNext(); // Advance to the end
368 var inputValue = builder.inputValue;
369 expect(inputValue, new isInstanceOf<Map>());
370 Map inputs = inputValue;
371 expect(inputs.length, 2);
372 expect(inputs, containsPair(key1, value1));
373 expect(inputs, containsPair(key2, value2));
374 }
375
376 test_inputValue_beforeMoveNext() {
377 Map<String, TaskInput> inputDescriptors = {};
378 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
379 expect(() => builder.inputValue, throwsStateError);
380 }
381
382 test_moveNext_withoutSet() {
383 Map<String, TaskInput> inputDescriptors = {'one' : input1};
384 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
385 expect(builder.moveNext(), true);
386 expect(() => builder.moveNext(), throwsStateError);
387 }
388
389 test_moveNext_withSet() {
390 Map<String, TaskInput> inputDescriptors = {'one' : input1};
391 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors);
392 expect(builder.moveNext(), true);
393 builder.currentValue = 'value1';
394 expect(builder.moveNext(), false);
395 expect(builder.moveNext(), false);
396 }
397 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698