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

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

Issue 832363002: Remove Compiler.assembledCode. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix unittest Created 5 years, 11 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 | « tests/compiler/dart2js/memory_compiler.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import 'dart:async'; 6 import 'dart:async';
7 import "package:async_helper/async_helper.dart"; 7 import "package:async_helper/async_helper.dart";
8 import 'memory_compiler.dart' show compilerFor; 8 import 'memory_compiler.dart' show compilerFor, OutputCollector;
9 import 'package:compiler/src/apiimpl.dart' show 9 import 'package:compiler/src/apiimpl.dart' show
10 Compiler; 10 Compiler;
11 import 'package:compiler/src/tree/tree.dart' show 11 import 'package:compiler/src/tree/tree.dart' show
12 Node; 12 Node;
13 import 'package:compiler/src/dart_backend/dart_backend.dart'; 13 import 'package:compiler/src/dart_backend/dart_backend.dart';
14 import 'package:compiler/src/mirror_renamer/mirror_renamer.dart'; 14 import 'package:compiler/src/mirror_renamer/mirror_renamer.dart';
15 15
16 main() { 16 main() {
17 testWithMirrorHelperLibrary(minify: true); 17 testWithMirrorHelperLibrary(minify: true);
18 testWithMirrorHelperLibrary(minify: false); 18 testWithMirrorHelperLibrary(minify: false);
19 testWithoutMirrorHelperLibrary(minify: true); 19 testWithoutMirrorHelperLibrary(minify: true);
20 testWithoutMirrorHelperLibrary(minify: false); 20 testWithoutMirrorHelperLibrary(minify: false);
21 } 21 }
22 22
23 Future<Compiler> runCompiler({useMirrorHelperLibrary: false, minify: false}) { 23 Future<Compiler> runCompiler({OutputCollector outputCollector,
24 bool useMirrorHelperLibrary: false,
25 bool minify: false}) {
24 List<String> options = ['--output-type=dart']; 26 List<String> options = ['--output-type=dart'];
25 if (minify) { 27 if (minify) {
26 options.add('--minify'); 28 options.add('--minify');
27 } 29 }
28 Compiler compiler = compilerFor(MEMORY_SOURCE_FILES, options: options); 30 Compiler compiler = compilerFor(
31 MEMORY_SOURCE_FILES, outputProvider: outputCollector, options: options);
29 DartBackend backend = compiler.backend; 32 DartBackend backend = compiler.backend;
30 backend.useMirrorHelperLibrary = useMirrorHelperLibrary; 33 backend.useMirrorHelperLibrary = useMirrorHelperLibrary;
31 return 34 return
32 compiler.runCompiler(Uri.parse('memory:main.dart')).then((_) => compiler); 35 compiler.runCompiler(Uri.parse('memory:main.dart')).then((_) => compiler);
33 } 36 }
34 37
35 void testWithMirrorHelperLibrary({bool minify}) { 38 void testWithMirrorHelperLibrary({bool minify}) {
36 asyncTest(() => runCompiler(useMirrorHelperLibrary: true, minify: minify). 39 OutputCollector outputCollector = new OutputCollector();
37 then((Compiler compiler) { 40 asyncTest(() =>
41 runCompiler(outputCollector: outputCollector,
42 useMirrorHelperLibrary: true,
43 minify: minify)
44 .then((Compiler compiler) {
38 DartBackend backend = compiler.backend; 45 DartBackend backend = compiler.backend;
39 MirrorRenamerImpl mirrorRenamer = backend.mirrorRenamer; 46 MirrorRenamerImpl mirrorRenamer = backend.mirrorRenamer;
40 Map<Node, String> renames = backend.placeholderRenamer.renames; 47 Map<Node, String> renames = backend.placeholderRenamer.renames;
41 Map<String, String> symbols = mirrorRenamer.symbols; 48 Map<String, String> symbols = mirrorRenamer.symbols;
42 49
43 Expect.isFalse(null == mirrorRenamer.helperLibrary); 50 Expect.isFalse(null == mirrorRenamer.helperLibrary);
44 Expect.isFalse(null == mirrorRenamer.getNameFunction); 51 Expect.isFalse(null == mirrorRenamer.getNameFunction);
45 52
46 for (Node n in renames.keys) { 53 for (Node n in renames.keys) {
47 if (symbols.containsKey(renames[n])) { 54 if (symbols.containsKey(renames[n])) {
48 if(n.toString() == 'getName') { 55 if(n.toString() == 'getName') {
49 Expect.equals( 56 Expect.equals(
50 MirrorRenamerImpl.MIRROR_HELPER_GET_NAME_FUNCTION, 57 MirrorRenamerImpl.MIRROR_HELPER_GET_NAME_FUNCTION,
51 symbols[renames[n]]); 58 symbols[renames[n]]);
52 } else { 59 } else {
53 Expect.equals(n.toString(), symbols[renames[n]]); 60 Expect.equals(n.toString(), symbols[renames[n]]);
54 } 61 }
55 } 62 }
56 } 63 }
57 64
58 String output = compiler.assembledCode; 65 String output = outputCollector.getOutput('', 'dart');
59 String getNameMatch = MirrorRenamerImpl.MIRROR_HELPER_GET_NAME_FUNCTION; 66 String getNameMatch = MirrorRenamerImpl.MIRROR_HELPER_GET_NAME_FUNCTION;
60 Iterable i = getNameMatch.allMatches(output); 67 Iterable i = getNameMatch.allMatches(output);
61 print(output); 68 print(output);
62 if (minify) { 69 if (minify) {
63 Expect.equals(0, i.length); 70 Expect.equals(0, i.length);
64 } else { 71 } else {
65 // Appears twice in code (defined & called). 72 // Appears twice in code (defined & called).
66 Expect.equals(2, i.length); 73 Expect.equals(2, i.length);
67 } 74 }
68 75
(...skipping 21 matching lines...) Expand all
90 class Foo { 97 class Foo {
91 noSuchMethod(Invocation invocation) { 98 noSuchMethod(Invocation invocation) {
92 MirrorSystem.getName(invocation.memberName); 99 MirrorSystem.getName(invocation.memberName);
93 } 100 }
94 } 101 }
95 102
96 void main() { 103 void main() {
97 new Foo().fisk(); 104 new Foo().fisk();
98 } 105 }
99 """}; 106 """};
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/memory_compiler.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698