| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |