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

Unified Diff: pkg/analyzer2dart/test/sexpr_test.dart

Issue 762213002: Support top-level field declaration and assignment in analyzer2dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer2dart/test/sexpr_data.dart ('k') | pkg/analyzer2dart/test/test_helper.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer2dart/test/sexpr_test.dart
diff --git a/pkg/analyzer2dart/test/sexpr_test.dart b/pkg/analyzer2dart/test/sexpr_test.dart
index 74dd8ac8a8c0491a3e2ea8fedcb0ff80e97fce50..6cbd87189e78674fef0cb8f7421b96a7809745f2 100644
--- a/pkg/analyzer2dart/test/sexpr_test.dart
+++ b/pkg/analyzer2dart/test/sexpr_test.dart
@@ -10,6 +10,7 @@ import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:compiler/src/cps_ir/cps_ir_nodes_sexpr.dart';
+import 'package:compiler/src/elements/elements.dart' as dart2js;
import 'package:unittest/unittest.dart';
import '../lib/src/closed_world.dart';
@@ -25,7 +26,6 @@ main() {
checkResult(TestSpec result) {
String input = result.input.trim();
- String expectedOutput = result.output.trim();
CollectingOutputProvider outputProvider = new CollectingOutputProvider();
MemoryResourceProvider provider = new MemoryResourceProvider();
DartSdk sdk = new MockSdk();
@@ -36,11 +36,30 @@ checkResult(TestSpec result) {
FunctionElement entryPoint = driver.resolveEntryPoint(rootSource);
ClosedWorld world = driver.computeWorld(entryPoint);
ConvertedWorld convertedWorld = convertWorld(world);
- String output = convertedWorld.getIr(convertedWorld.mainFunction)
- .accept(new SExpressionStringifier());
- expect(output, equals(expectedOutput),
- reason: 'Input:\n$input\n'
- 'Expected:\n$expectedOutput\n'
- 'Actual:\n$output');
+
+ void checkOutput(dart2js.Element element, String expectedOutput) {
+ expectedOutput = expectedOutput.trim();
+ String output = convertedWorld.getIr(element)
+ .accept(new SExpressionStringifier());
+ expect(output, equals(expectedOutput),
+ reason: 'Input:\n$input\n'
+ 'Expected:\n$expectedOutput\n'
+ 'Actual:\n$output');
+ }
+
+ if (result.output is String) {
+ checkOutput(convertedWorld.mainFunction, result.output);
+ } else {
+ assert(result.output is Map<String, String>);
+ dart2js.LibraryElement mainLibrary = convertedWorld.mainFunction.library;
+ result.output.forEach((String elementName, String output) {
+ convertedWorld.resolvedElements.forEach((dart2js.Element element) {
+ if (element.name == elementName &&
+ element.library == mainLibrary) {
+ checkOutput(element, output);
+ }
+ });
+ });
+ }
}
« no previous file with comments | « pkg/analyzer2dart/test/sexpr_data.dart ('k') | pkg/analyzer2dart/test/test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698