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

Side by Side Diff: tests/compiler/dart2js/compiler_helper.dart

Issue 362243003: Generate mock libraries and assert that helpers are non-null. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix after rebase. Created 6 years, 5 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
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 compiler_helper; 5 library compiler_helper;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
9 9
10 import 'package:compiler/implementation/elements/elements.dart' 10 import 'package:compiler/implementation/elements/elements.dart'
(...skipping 28 matching lines...) Expand all
39 import 'package:compiler/implementation/dart2jslib.dart' 39 import 'package:compiler/implementation/dart2jslib.dart'
40 show Compiler; 40 show Compiler;
41 41
42 export 'package:compiler/implementation/tree/tree.dart'; 42 export 'package:compiler/implementation/tree/tree.dart';
43 43
44 import 'mock_compiler.dart'; 44 import 'mock_compiler.dart';
45 export 'mock_compiler.dart'; 45 export 'mock_compiler.dart';
46 46
47 Future<String> compile(String code, 47 Future<String> compile(String code,
48 {String entry: 'main', 48 {String entry: 'main',
49 String coreSource: DEFAULT_CORELIB,
50 String interceptorsSource: DEFAULT_INTERCEPTORSLIB,
51 bool enableTypeAssertions: false, 49 bool enableTypeAssertions: false,
52 bool minify: false, 50 bool minify: false,
53 bool analyzeAll: false, 51 bool analyzeAll: false,
54 bool disableInlining: true, 52 bool disableInlining: true,
55 void check(String generated)}) { 53 void check(String generated)}) {
56 MockCompiler compiler = new MockCompiler.internal( 54 MockCompiler compiler = new MockCompiler.internal(
57 enableTypeAssertions: enableTypeAssertions, 55 enableTypeAssertions: enableTypeAssertions,
58 coreSource: coreSource,
59 // Type inference does not run when manually 56 // Type inference does not run when manually
60 // compiling a method. 57 // compiling a method.
61 disableTypeInference: true, 58 disableTypeInference: true,
62 interceptorsSource: interceptorsSource,
63 enableMinification: minify, 59 enableMinification: minify,
64 disableInlining: disableInlining); 60 disableInlining: disableInlining);
65 return compiler.init().then((_) { 61 return compiler.init().then((_) {
66 compiler.parseScript(code); 62 compiler.parseScript(code);
67 lego.Element element = compiler.mainApp.find(entry); 63 lego.Element element = compiler.mainApp.find(entry);
68 if (element == null) return null; 64 if (element == null) return null;
69 compiler.phase = Compiler.PHASE_RESOLVING; 65 compiler.phase = Compiler.PHASE_RESOLVING;
70 compiler.backend.enqueueHelpers(compiler.enqueuer.resolution, 66 compiler.backend.enqueueHelpers(compiler.enqueuer.resolution,
71 compiler.globalDependencies); 67 compiler.globalDependencies);
72 compiler.processQueue(compiler.enqueuer.resolution, element); 68 compiler.processQueue(compiler.enqueuer.resolution, element);
(...skipping 12 matching lines...) Expand all
85 check(generated); 81 check(generated);
86 } 82 }
87 return generated; 83 return generated;
88 }); 84 });
89 } 85 }
90 86
91 // TODO(herhut): Disallow warnings and errors during compilation by default. 87 // TODO(herhut): Disallow warnings and errors during compilation by default.
92 MockCompiler compilerFor(String code, Uri uri, 88 MockCompiler compilerFor(String code, Uri uri,
93 {bool analyzeAll: false, 89 {bool analyzeAll: false,
94 bool analyzeOnly: false, 90 bool analyzeOnly: false,
95 String coreSource: DEFAULT_CORELIB, 91 Map<String, String> coreSource,
96 bool disableInlining: true, 92 bool disableInlining: true,
97 bool minify: false, 93 bool minify: false,
98 int expectedErrors, 94 int expectedErrors,
99 int expectedWarnings}) { 95 int expectedWarnings}) {
100 MockCompiler compiler = new MockCompiler.internal( 96 MockCompiler compiler = new MockCompiler.internal(
101 analyzeAll: analyzeAll, 97 analyzeAll: analyzeAll,
102 analyzeOnly: analyzeOnly, 98 analyzeOnly: analyzeOnly,
103 coreSource: coreSource, 99 coreSource: coreSource,
104 disableInlining: disableInlining, 100 disableInlining: disableInlining,
105 enableMinification: minify, 101 enableMinification: minify,
106 expectedErrors: expectedErrors, 102 expectedErrors: expectedErrors,
107 expectedWarnings: expectedWarnings); 103 expectedWarnings: expectedWarnings);
108 compiler.registerSource(uri, code); 104 compiler.registerSource(uri, code);
109 return compiler; 105 return compiler;
110 } 106 }
111 107
112 Future<String> compileAll(String code, 108 Future<String> compileAll(String code,
113 {String coreSource: DEFAULT_CORELIB, 109 {Map<String, String> coreSource,
114 bool disableInlining: true, 110 bool disableInlining: true,
115 bool minify: false, 111 bool minify: false,
116 int expectedErrors, 112 int expectedErrors,
117 int expectedWarnings}) { 113 int expectedWarnings}) {
118 Uri uri = new Uri(scheme: 'source'); 114 Uri uri = new Uri(scheme: 'source');
119 MockCompiler compiler = compilerFor( 115 MockCompiler compiler = compilerFor(
120 code, uri, coreSource: coreSource, disableInlining: disableInlining, 116 code, uri, coreSource: coreSource, disableInlining: disableInlining,
121 minify: minify, expectedErrors: expectedErrors, 117 minify: minify, expectedErrors: expectedErrors,
122 expectedWarnings: expectedWarnings); 118 expectedWarnings: expectedWarnings);
123 return compiler.runCompiler(uri).then((_) { 119 return compiler.runCompiler(uri).then((_) {
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)'); 240 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)');
245 final spaceRe = new RegExp('\\s+'); 241 final spaceRe = new RegExp('\\s+');
246 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)'); 242 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)');
247 if (shouldMatch) { 243 if (shouldMatch) {
248 Expect.isTrue(new RegExp(regexp).hasMatch(generated)); 244 Expect.isTrue(new RegExp(regexp).hasMatch(generated));
249 } else { 245 } else {
250 Expect.isFalse(new RegExp(regexp).hasMatch(generated)); 246 Expect.isFalse(new RegExp(regexp).hasMatch(generated));
251 } 247 }
252 }); 248 });
253 } 249 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/compiler/implementation/native_handler.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698