| OLD | NEW |
| (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.engine.task.dart; |
| 6 |
| 7 import 'package:analyzer/src/generated/ast.dart'; |
| 8 import 'package:analyzer/src/generated/engine.dart'; |
| 9 import 'package:analyzer/src/generated/java_engine.dart'; |
| 10 import 'package:analyzer/src/generated/source.dart'; |
| 11 import 'package:analyzer/src/generated/source_io.dart'; |
| 12 import 'package:analyzer/src/task/task_dart.dart'; |
| 13 import 'package:unittest/unittest.dart'; |
| 14 |
| 15 import '../generated/engine_test.dart'; |
| 16 import '../generated/resolver_test.dart'; |
| 17 import '../generated/test_support.dart'; |
| 18 import '../reflective_tests.dart'; |
| 19 |
| 20 main() { |
| 21 groupSep = ' | '; |
| 22 runReflectiveTests(BuildUnitElementTaskTest); |
| 23 } |
| 24 |
| 25 class BuildUnitElementTaskTest extends EngineTestCase { |
| 26 void test_accept() { |
| 27 BuildUnitElementTask task = new BuildUnitElementTask(null, null, null, null)
; |
| 28 expect(task.accept(new BuildUnitElementTaskTV_accept()), isTrue); |
| 29 } |
| 30 |
| 31 void test_getException() { |
| 32 BuildUnitElementTask task = new BuildUnitElementTask(null, null, null, null)
; |
| 33 expect(task.exception, isNull); |
| 34 } |
| 35 |
| 36 void test_getLibrarySource() { |
| 37 Source source = new TestSource('/part.dart'); |
| 38 Source library = new TestSource('/lib.dart'); |
| 39 BuildUnitElementTask task = |
| 40 new BuildUnitElementTask(null, source, library, null); |
| 41 expect(task.library, equals(library)); |
| 42 } |
| 43 |
| 44 void test_getUnitSource() { |
| 45 Source source = new TestSource('/part.dart'); |
| 46 Source library = new TestSource('/lib.dart'); |
| 47 BuildUnitElementTask task = |
| 48 new BuildUnitElementTask(null, source, library, null); |
| 49 expect(task.source, equals(source)); |
| 50 } |
| 51 |
| 52 void test_perform_exception() { |
| 53 TestSource source = new TestSource(); |
| 54 source.generateExceptionOnRead = true; |
| 55 InternalAnalysisContext context = new AnalysisContextImpl(); |
| 56 context.sourceFactory = new SourceFactory([new FileUriResolver()]); |
| 57 CompilationUnit unit = parseUnit(context, source, ""); |
| 58 BuildUnitElementTask task = |
| 59 new BuildUnitElementTask(context, null, source, unit); |
| 60 task.perform(new BuildUnitElementTaskTV_perform_exception()); |
| 61 } |
| 62 |
| 63 void test_perform_valid() { |
| 64 var content = EngineTestCase.createSource(["library lib;", "class A {}"]); |
| 65 Source source = new TestSource('/test.dart', content); |
| 66 InternalAnalysisContext context = AnalysisContextFactory.contextWithCore(); |
| 67 CompilationUnit unit = parseUnit(context, source, content); |
| 68 BuildUnitElementTask task = |
| 69 new BuildUnitElementTask(context, source, source, unit); |
| 70 task.perform(new BuildUnitElementTaskTV_perform_valid(source, unit)); |
| 71 } |
| 72 |
| 73 CompilationUnit parseUnit(InternalAnalysisContext context, Source source, Stri
ng content) { |
| 74 ScanDartTask scanTask = new ScanDartTask( |
| 75 context, |
| 76 source, |
| 77 content); |
| 78 scanTask.perform(new ScanDartTaskTestTV_accept()); |
| 79 ParseDartTask parseTask = new ParseDartTask( |
| 80 context, |
| 81 source, |
| 82 scanTask.tokenStream, |
| 83 scanTask.lineInfo); |
| 84 parseTask.perform(new ParseDartTaskTestTV_accept()); |
| 85 return parseTask.compilationUnit; |
| 86 } |
| 87 } |
| 88 |
| 89 class BuildUnitElementTaskTV_accept extends TestTaskVisitor<bool> { |
| 90 @override |
| 91 bool visitBuildUnitElementTask(BuildUnitElementTask task) => true; |
| 92 } |
| 93 |
| 94 class BuildUnitElementTaskTV_perform_exception extends TestTaskVisitor<bool> { |
| 95 @override |
| 96 bool visitBuildUnitElementTask(BuildUnitElementTask task) { |
| 97 expect(task.exception, isNotNull); |
| 98 return true; |
| 99 } |
| 100 } |
| 101 |
| 102 class BuildUnitElementTaskTV_perform_valid extends TestTaskVisitor<bool> { |
| 103 Source source; |
| 104 |
| 105 CompilationUnit unit; |
| 106 |
| 107 BuildUnitElementTaskTV_perform_valid(this.source, this.unit); |
| 108 |
| 109 @override |
| 110 bool visitBuildUnitElementTask(BuildUnitElementTask task) { |
| 111 CaughtException exception = task.exception; |
| 112 if (exception != null) { |
| 113 throw exception; |
| 114 } |
| 115 expect(task.source, equals(source)); |
| 116 expect(task.library, equals(source)); |
| 117 expect(task.unit, equals(unit)); |
| 118 expect(task.unitElement, isNotNull); |
| 119 return true; |
| 120 } |
| 121 } |
| OLD | NEW |