| OLD | NEW |
| 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/src/task/targets.dart'; | 9 import 'package:analyzer/src/task/targets.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 import 'package:analyzer/task/model.dart'; | 14 import 'package:analyzer/task/model.dart'; |
| 15 | 15 |
| 16 main() { | 16 main() { |
| 17 groupSep = ' | '; | 17 groupSep = ' | '; |
| 18 runReflectiveTests(ListBasedTaskInputTest); | 18 runReflectiveTests(ListBasedTaskInputTest); |
| 19 runReflectiveTests(ListBasedTaskInputBuilderTest); | 19 runReflectiveTests(ListBasedTaskInputBuilderTest); |
| 20 runReflectiveTests(SimpleTaskInputTest); | 20 runReflectiveTests(SimpleTaskInputTest); |
| 21 runReflectiveTests(SimpleTaskInputBuilderTest); | 21 runReflectiveTests(SimpleTaskInputBuilderTest); |
| 22 runReflectiveTests(TopLevelTaskInputBuilderTest); | 22 runReflectiveTests(TopLevelTaskInputBuilderTest); |
| 23 } | 23 } |
| 24 | 24 |
| 25 @reflectiveTest | 25 @reflectiveTest |
| 26 class ListBasedTaskInputBuilderTest extends EngineTestCase { | 26 class ListBasedTaskInputBuilderTest extends EngineTestCase { |
| 27 static final SourceTarget target1 = new SourceTarget(null); | 27 static final SourceTarget target1 = new SourceTarget(null); |
| 28 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1'
); | 28 static final ResultDescriptorImpl result1 = |
| 29 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2'
); | 29 new ResultDescriptorImpl('result1', null); |
| 30 static final ListBasedTaskInput input = | 30 static final ResultDescriptorImpl result2 = |
| 31 new ListBasedTaskInput(result1.inputFor(target1), (element) => result2.inp
utFor(element)); | 31 new ResultDescriptorImpl('result2', null); |
| 32 static final ListBasedTaskInput input = new ListBasedTaskInput( |
| 33 result1.inputFor(target1), |
| 34 (element) => result2.inputFor(element)); |
| 32 | 35 |
| 33 test_create() { | 36 test_create() { |
| 34 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 37 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 35 expect(builder, isNotNull); | 38 expect(builder, isNotNull); |
| 36 expect(builder.input, input); | 39 expect(builder.input, input); |
| 37 } | 40 } |
| 38 | 41 |
| 39 test_currentResult_afterOneMoveNext() { | 42 test_currentResult_afterOneMoveNext() { |
| 40 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 43 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 41 builder.moveNext(); | 44 builder.moveNext(); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 expect(builder.moveNext(), true); | 133 expect(builder.moveNext(), true); |
| 131 builder.currentValue = []; | 134 builder.currentValue = []; |
| 132 expect(builder.moveNext(), false); | 135 expect(builder.moveNext(), false); |
| 133 expect(builder.moveNext(), false); | 136 expect(builder.moveNext(), false); |
| 134 } | 137 } |
| 135 } | 138 } |
| 136 | 139 |
| 137 @reflectiveTest | 140 @reflectiveTest |
| 138 class ListBasedTaskInputTest extends EngineTestCase { | 141 class ListBasedTaskInputTest extends EngineTestCase { |
| 139 static final SourceTarget target = new SourceTarget(null); | 142 static final SourceTarget target = new SourceTarget(null); |
| 140 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); | 143 static final ResultDescriptorImpl result = |
| 144 new ResultDescriptorImpl('result', null); |
| 141 | 145 |
| 142 test_create() { | 146 test_create() { |
| 143 SimpleTaskInput baseAccessor = result.inputFor(target); | 147 SimpleTaskInput baseAccessor = result.inputFor(target); |
| 144 GenerateTaskInputs generate = (object) {}; | 148 GenerateTaskInputs generate = (object) {}; |
| 145 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); | 149 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); |
| 146 expect(input, isNotNull); | 150 expect(input, isNotNull); |
| 147 expect(input.baseAccessor, baseAccessor); | 151 expect(input.baseAccessor, baseAccessor); |
| 148 expect(input.generateTaskInputs, equals(generate)); | 152 expect(input.generateTaskInputs, equals(generate)); |
| 149 } | 153 } |
| 150 | 154 |
| 151 test_createBuilder() { | 155 test_createBuilder() { |
| 152 SimpleTaskInput baseAccessor = result.inputFor(target); | 156 SimpleTaskInput baseAccessor = result.inputFor(target); |
| 153 GenerateTaskInputs generate = (object) {}; | 157 GenerateTaskInputs generate = (object) {}; |
| 154 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); | 158 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); |
| 155 expect(input.createBuilder(), isNotNull); | 159 expect(input.createBuilder(), isNotNull); |
| 156 } | 160 } |
| 157 } | 161 } |
| 158 | 162 |
| 159 @reflectiveTest | 163 @reflectiveTest |
| 160 class SimpleTaskInputBuilderTest extends EngineTestCase { | 164 class SimpleTaskInputBuilderTest extends EngineTestCase { |
| 161 static final SourceTarget target = new SourceTarget(null); | 165 static final SourceTarget target = new SourceTarget(null); |
| 162 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); | 166 static final ResultDescriptorImpl result = |
| 167 new ResultDescriptorImpl('result', null); |
| 163 static final SimpleTaskInput input = new SimpleTaskInput(target, result); | 168 static final SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 164 | 169 |
| 165 test_create() { | 170 test_create() { |
| 166 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 171 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 167 expect(builder, isNotNull); | 172 expect(builder, isNotNull); |
| 168 expect(builder.input, input); | 173 expect(builder.input, input); |
| 169 } | 174 } |
| 170 | 175 |
| 171 test_currentResult_afterOneMoveNext() { | 176 test_currentResult_afterOneMoveNext() { |
| 172 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 177 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 expect(builder.moveNext(), true); | 255 expect(builder.moveNext(), true); |
| 251 builder.currentValue = 'value'; | 256 builder.currentValue = 'value'; |
| 252 expect(builder.moveNext(), false); | 257 expect(builder.moveNext(), false); |
| 253 expect(builder.moveNext(), false); | 258 expect(builder.moveNext(), false); |
| 254 } | 259 } |
| 255 } | 260 } |
| 256 | 261 |
| 257 @reflectiveTest | 262 @reflectiveTest |
| 258 class SimpleTaskInputTest extends EngineTestCase { | 263 class SimpleTaskInputTest extends EngineTestCase { |
| 259 static final SourceTarget target = new SourceTarget(null); | 264 static final SourceTarget target = new SourceTarget(null); |
| 260 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); | 265 static final ResultDescriptorImpl result = |
| 266 new ResultDescriptorImpl('result', null); |
| 261 | 267 |
| 262 test_create() { | 268 test_create() { |
| 263 SimpleTaskInput input = new SimpleTaskInput(target, result); | 269 SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 264 expect(input, isNotNull); | 270 expect(input, isNotNull); |
| 265 expect(input.target, target); | 271 expect(input.target, target); |
| 266 expect(input.result, result); | 272 expect(input.result, result); |
| 267 } | 273 } |
| 268 | 274 |
| 269 test_createBuilder() { | 275 test_createBuilder() { |
| 270 SimpleTaskInput input = new SimpleTaskInput(target, result); | 276 SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 271 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>()); | 277 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>()); |
| 272 } | 278 } |
| 273 } | 279 } |
| 274 | 280 |
| 275 @reflectiveTest | 281 @reflectiveTest |
| 276 class TopLevelTaskInputBuilderTest extends EngineTestCase { | 282 class TopLevelTaskInputBuilderTest extends EngineTestCase { |
| 277 static final SourceTarget target = new SourceTarget(null); | 283 static final SourceTarget target = new SourceTarget(null); |
| 278 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1'
); | 284 static final ResultDescriptorImpl result1 = |
| 279 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2'
); | 285 new ResultDescriptorImpl('result1', null); |
| 286 static final ResultDescriptorImpl result2 = |
| 287 new ResultDescriptorImpl('result2', null); |
| 280 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1); | 288 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1); |
| 281 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2); | 289 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2); |
| 282 | 290 |
| 283 test_create() { | 291 test_create() { |
| 284 Map<String, TaskInput> inputDescriptors = {}; | 292 Map<String, TaskInput> inputDescriptors = {}; |
| 285 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 293 TopLevelTaskInputBuilder builder = |
| 294 new TopLevelTaskInputBuilder(inputDescriptors); |
| 286 expect(builder, isNotNull); | 295 expect(builder, isNotNull); |
| 287 expect(builder.inputDescriptors, inputDescriptors); | 296 expect(builder.inputDescriptors, inputDescriptors); |
| 288 } | 297 } |
| 289 | 298 |
| 290 test_currentResult_afterOneMoveNext() { | 299 test_currentResult_afterOneMoveNext() { |
| 291 Map<String, TaskInput> inputDescriptors = {'one' : input1, 'two' : input2}; | 300 Map<String, TaskInput> inputDescriptors = { |
| 292 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 301 'one': input1, |
| 302 'two': input2 |
| 303 }; |
| 304 TopLevelTaskInputBuilder builder = |
| 305 new TopLevelTaskInputBuilder(inputDescriptors); |
| 293 builder.moveNext(); | 306 builder.moveNext(); |
| 294 expect(builder.currentResult, result1); | 307 expect(builder.currentResult, result1); |
| 295 } | 308 } |
| 296 | 309 |
| 297 test_currentResult_afterComplete() { | 310 test_currentResult_afterComplete() { |
| 298 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 311 Map<String, TaskInput> inputDescriptors = { |
| 299 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 312 'one': input1 |
| 313 }; |
| 314 TopLevelTaskInputBuilder builder = |
| 315 new TopLevelTaskInputBuilder(inputDescriptors); |
| 300 builder.moveNext(); | 316 builder.moveNext(); |
| 301 builder.currentValue = 'value1'; | 317 builder.currentValue = 'value1'; |
| 302 builder.moveNext(); | 318 builder.moveNext(); |
| 303 expect(builder.currentResult, null); | 319 expect(builder.currentResult, null); |
| 304 } | 320 } |
| 305 | 321 |
| 306 test_currentResult_beforeMoveNext() { | 322 test_currentResult_beforeMoveNext() { |
| 307 Map<String, TaskInput> inputDescriptors = {}; | 323 Map<String, TaskInput> inputDescriptors = {}; |
| 308 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 324 TopLevelTaskInputBuilder builder = |
| 325 new TopLevelTaskInputBuilder(inputDescriptors); |
| 309 expect(builder.currentResult, null); | 326 expect(builder.currentResult, null); |
| 310 } | 327 } |
| 311 | 328 |
| 312 test_currentTarget_afterOneMoveNext() { | 329 test_currentTarget_afterOneMoveNext() { |
| 313 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 330 Map<String, TaskInput> inputDescriptors = { |
| 314 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 331 'one': input1 |
| 332 }; |
| 333 TopLevelTaskInputBuilder builder = |
| 334 new TopLevelTaskInputBuilder(inputDescriptors); |
| 315 builder.moveNext(); | 335 builder.moveNext(); |
| 316 expect(builder.currentTarget, target); | 336 expect(builder.currentTarget, target); |
| 317 } | 337 } |
| 318 | 338 |
| 319 test_currentTarget_afterComplete() { | 339 test_currentTarget_afterComplete() { |
| 320 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 340 Map<String, TaskInput> inputDescriptors = { |
| 321 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 341 'one': input1 |
| 342 }; |
| 343 TopLevelTaskInputBuilder builder = |
| 344 new TopLevelTaskInputBuilder(inputDescriptors); |
| 322 builder.moveNext(); | 345 builder.moveNext(); |
| 323 builder.currentValue = 'value1'; | 346 builder.currentValue = 'value1'; |
| 324 builder.moveNext(); | 347 builder.moveNext(); |
| 325 expect(builder.currentTarget, null); | 348 expect(builder.currentTarget, null); |
| 326 } | 349 } |
| 327 | 350 |
| 328 test_currentTarget_beforeMoveNext() { | 351 test_currentTarget_beforeMoveNext() { |
| 329 Map<String, TaskInput> inputDescriptors = {}; | 352 Map<String, TaskInput> inputDescriptors = {}; |
| 330 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 353 TopLevelTaskInputBuilder builder = |
| 354 new TopLevelTaskInputBuilder(inputDescriptors); |
| 331 expect(builder.currentTarget, null); | 355 expect(builder.currentTarget, null); |
| 332 } | 356 } |
| 333 | 357 |
| 334 test_currentValue_afterOneMoveNext() { | 358 test_currentValue_afterOneMoveNext() { |
| 335 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 359 Map<String, TaskInput> inputDescriptors = { |
| 336 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 360 'one': input1 |
| 361 }; |
| 362 TopLevelTaskInputBuilder builder = |
| 363 new TopLevelTaskInputBuilder(inputDescriptors); |
| 337 builder.moveNext(); | 364 builder.moveNext(); |
| 338 builder.currentValue = 'value1'; | 365 builder.currentValue = 'value1'; |
| 339 } | 366 } |
| 340 | 367 |
| 341 test_currentValue_beforeMoveNext() { | 368 test_currentValue_beforeMoveNext() { |
| 342 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 369 Map<String, TaskInput> inputDescriptors = { |
| 343 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 370 'one': input1 |
| 371 }; |
| 372 TopLevelTaskInputBuilder builder = |
| 373 new TopLevelTaskInputBuilder(inputDescriptors); |
| 344 expect(() { | 374 expect(() { |
| 345 builder.currentValue = 'value1'; | 375 builder.currentValue = 'value1'; |
| 346 }, throwsStateError); | 376 }, throwsStateError); |
| 347 } | 377 } |
| 348 | 378 |
| 349 test_inputValue_afterOneMoveNext() { | 379 test_inputValue_afterOneMoveNext() { |
| 350 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 380 Map<String, TaskInput> inputDescriptors = { |
| 351 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 381 'one': input1 |
| 382 }; |
| 383 TopLevelTaskInputBuilder builder = |
| 384 new TopLevelTaskInputBuilder(inputDescriptors); |
| 352 builder.moveNext(); | 385 builder.moveNext(); |
| 353 expect(() => builder.inputValue, throwsStateError); | 386 expect(() => builder.inputValue, throwsStateError); |
| 354 } | 387 } |
| 355 | 388 |
| 356 test_inputValue_afterComplete() { | 389 test_inputValue_afterComplete() { |
| 357 String key1 = 'one'; | 390 String key1 = 'one'; |
| 358 String key2 = 'two'; | 391 String key2 = 'two'; |
| 359 String value1 = 'value1'; | 392 String value1 = 'value1'; |
| 360 String value2 = 'value2'; | 393 String value2 = 'value2'; |
| 361 Map<String, TaskInput> inputDescriptors = {key1 : input1, key2 : input2}; | 394 Map<String, TaskInput> inputDescriptors = { |
| 362 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 395 key1: input1, |
| 396 key2: input2 |
| 397 }; |
| 398 TopLevelTaskInputBuilder builder = |
| 399 new TopLevelTaskInputBuilder(inputDescriptors); |
| 363 builder.moveNext(); // Advance to requesting result1 for target | 400 builder.moveNext(); // Advance to requesting result1 for target |
| 364 builder.currentValue = value1; | 401 builder.currentValue = value1; |
| 365 builder.moveNext(); // Advance to requesting result2 for target | 402 builder.moveNext(); // Advance to requesting result2 for target |
| 366 builder.currentValue = value2; | 403 builder.currentValue = value2; |
| 367 builder.moveNext(); // Advance to the end | 404 builder.moveNext(); // Advance to the end |
| 368 var inputValue = builder.inputValue; | 405 var inputValue = builder.inputValue; |
| 369 expect(inputValue, new isInstanceOf<Map>()); | 406 expect(inputValue, new isInstanceOf<Map>()); |
| 370 Map inputs = inputValue; | 407 Map inputs = inputValue; |
| 371 expect(inputs.length, 2); | 408 expect(inputs.length, 2); |
| 372 expect(inputs, containsPair(key1, value1)); | 409 expect(inputs, containsPair(key1, value1)); |
| 373 expect(inputs, containsPair(key2, value2)); | 410 expect(inputs, containsPair(key2, value2)); |
| 374 } | 411 } |
| 375 | 412 |
| 376 test_inputValue_beforeMoveNext() { | 413 test_inputValue_beforeMoveNext() { |
| 377 Map<String, TaskInput> inputDescriptors = {}; | 414 Map<String, TaskInput> inputDescriptors = {}; |
| 378 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 415 TopLevelTaskInputBuilder builder = |
| 416 new TopLevelTaskInputBuilder(inputDescriptors); |
| 379 expect(() => builder.inputValue, throwsStateError); | 417 expect(() => builder.inputValue, throwsStateError); |
| 380 } | 418 } |
| 381 | 419 |
| 382 test_moveNext_withoutSet() { | 420 test_moveNext_withoutSet() { |
| 383 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 421 Map<String, TaskInput> inputDescriptors = { |
| 384 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 422 'one': input1 |
| 423 }; |
| 424 TopLevelTaskInputBuilder builder = |
| 425 new TopLevelTaskInputBuilder(inputDescriptors); |
| 385 expect(builder.moveNext(), true); | 426 expect(builder.moveNext(), true); |
| 386 expect(() => builder.moveNext(), throwsStateError); | 427 expect(() => builder.moveNext(), throwsStateError); |
| 387 } | 428 } |
| 388 | 429 |
| 389 test_moveNext_withSet() { | 430 test_moveNext_withSet() { |
| 390 Map<String, TaskInput> inputDescriptors = {'one' : input1}; | 431 Map<String, TaskInput> inputDescriptors = { |
| 391 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip
tors); | 432 'one': input1 |
| 433 }; |
| 434 TopLevelTaskInputBuilder builder = |
| 435 new TopLevelTaskInputBuilder(inputDescriptors); |
| 392 expect(builder.moveNext(), true); | 436 expect(builder.moveNext(), true); |
| 393 builder.currentValue = 'value1'; | 437 builder.currentValue = 'value1'; |
| 394 expect(builder.moveNext(), false); | 438 expect(builder.moveNext(), false); |
| 395 expect(builder.moveNext(), false); | 439 expect(builder.moveNext(), false); |
| 396 } | 440 } |
| 397 } | 441 } |
| OLD | NEW |