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

Side by Side Diff: pkg/analyzer/test/task/task_dart_test.dart

Issue 660203003: Add (an as yet unused) task (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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/test/generated/engine_test.dart ('k') | pkg/analyzer/test/task/test_all.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/generated/engine_test.dart ('k') | pkg/analyzer/test/task/test_all.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698