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

Side by Side Diff: tests/compiler/dart2js/backend_dart/sexpr_test.dart

Issue 787603003: Generative constructors in the new dart backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments, set element for constructors in frontend_ast_to_backend_ast, adjust status-file Created 6 years 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) 2014, the Dart project authors. Please see the AUTHORS file 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 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 dart_backend.sexpr_test; 5 library dart_backend.sexpr_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:async_helper/async_helper.dart'; 9 import 'package:async_helper/async_helper.dart';
10 import 'package:compiler/src/dart2jslib.dart'; 10 import 'package:compiler/src/dart2jslib.dart';
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 return functions.map((f) => stringifier.visitFunctionDefinition(f)).toList(); 102 return functions.map((f) => stringifier.visitFunctionDefinition(f)).toList();
103 } 103 }
104 104
105 Future<List<String>> testStringifier(String code, 105 Future<List<String>> testStringifier(String code,
106 Iterable<String> expectedTokens) { 106 Iterable<String> expectedTokens) {
107 return compile(code) 107 return compile(code)
108 .then((List<FunctionDefinition> functions) { 108 .then((List<FunctionDefinition> functions) {
109 List<String> sexprs = stringifyAll(functions); 109 List<String> sexprs = stringifyAll(functions);
110 String combined = sexprs.join(); 110 String combined = sexprs.join();
111 String withoutNullConstants = combined.replaceAll("Constant null", ""); 111 String withoutNullConstants = combined.replaceAll("Constant null", "");
112
113 Expect.isFalse(withoutNullConstants.contains("null")); 112 Expect.isFalse(withoutNullConstants.contains("null"));
114 for (String token in expectedTokens) { 113 for (String token in expectedTokens) {
115 Expect.isTrue(combined.contains(token)); 114 Expect.isTrue(combined.contains(token));
116 } 115 }
117 116
118 return sexprs; 117 return sexprs;
119 }); 118 });
120 } 119 }
121 120
122 /// Checks if the generated S-expressions can be processed by the unstringifier, 121 /// Checks if the generated S-expressions can be processed by the unstringifier,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 ]; 164 ];
166 165
167 asyncTest(() => testStringifier(CODE, tokens).then((List<String> sexprs) { 166 asyncTest(() => testStringifier(CODE, tokens).then((List<String> sexprs) {
168 final functions = testUnstringifier(sexprs); 167 final functions = testUnstringifier(sexprs);
169 168
170 // Ensure that 169 // Ensure that
171 // stringified(CODE) == stringified(unstringified(stringified(CODE))) 170 // stringified(CODE) == stringified(unstringified(stringified(CODE)))
172 Expect.listEquals(sexprs, stringifyAll(functions)); 171 Expect.listEquals(sexprs, stringifyAll(functions));
173 })); 172 }));
174 } 173 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart ('k') | tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698