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