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

Unified Diff: tests/compiler/dart2js/equivalence/id_equivalence_helper.dart

Issue 2999003002: Add more tested features to closure_test (Closed)
Patch Set: Updated cf. comments. Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
diff --git a/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart b/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
index 65ca59fed02aeec2b4298c5a88f7d197e67b729b..8aedb91c2fe7e1a8c30b29d20e9e5fe08fce1259 100644
--- a/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
+++ b/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
@@ -28,7 +28,8 @@ typedef Future<Compiler> CompileFunction(
/// Fills [actualMap] with the data and [sourceSpanMap] with the source spans
/// for the data origin.
typedef void ComputeMemberDataFunction(Compiler compiler, MemberEntity member,
- Map<Id, String> actualMap, Map<Id, SourceSpan> sourceSpanMap);
+ Map<Id, String> actualMap, Map<Id, SourceSpan> sourceSpanMap,
+ {bool verbose});
/// Compile [code] from .dart sources.
Future<Compiler> compileFromSource(
@@ -61,7 +62,8 @@ Future<IdData> computeData(
String annotatedCode,
ComputeMemberDataFunction computeMemberData,
CompileFunction compileFunction,
- {List<String> options: const <String>[]}) async {
+ {List<String> options: const <String>[],
+ bool verbose: false}) async {
AnnotatedCode code =
new AnnotatedCode.fromText(annotatedCode, commentStart, commentEnd);
Map<Id, String> expectedMap = computeExpectedMap(code);
@@ -76,12 +78,14 @@ Future<IdData> computeData(
elementEnvironment.forEachClassMember(cls,
(ClassEntity declarer, MemberEntity member) {
if (cls == declarer) {
- computeMemberData(compiler, member, actualMap, sourceSpanMap);
+ computeMemberData(compiler, member, actualMap, sourceSpanMap,
+ verbose: verbose);
}
});
});
elementEnvironment.forEachLibraryMember(mainLibrary, (MemberEntity member) {
- computeMemberData(compiler, member, actualMap, sourceSpanMap);
+ computeMemberData(compiler, member, actualMap, sourceSpanMap,
+ verbose: verbose);
});
return new IdData(compiler, elementEnvironment, mainUri, expectedMap,
actualMap, sourceSpanMap);
@@ -107,18 +111,27 @@ Future checkCode(
String annotatedCode,
ComputeMemberDataFunction computeMemberData,
CompileFunction compileFunction,
- {List<String> options: const <String>[]}) async {
+ {List<String> options: const <String>[],
+ bool verbose: false}) async {
IdData data = await computeData(
annotatedCode, computeMemberData, compileFunction,
- options: options);
+ options: options, verbose: verbose);
data.actualMap.forEach((Id id, String actual) {
- String expected = data.expectedMap.remove(id);
- if (actual != expected) {
- reportHere(data.compiler.reporter, data.sourceSpanMap[id],
- 'expected:${expected},actual:${actual}');
+ if (!data.expectedMap.containsKey(id)) {
+ if (actual != '') {
+ reportHere(data.compiler.reporter, data.sourceSpanMap[id],
+ 'Id $id not expected in ${data.expectedMap.keys}');
+ }
+ Expect.equals('', actual);
+ } else {
+ String expected = data.expectedMap.remove(id);
+ if (actual != expected) {
+ reportHere(data.compiler.reporter, data.sourceSpanMap[id],
+ 'expected:${expected},actual:${actual}');
+ }
+ Expect.equals(expected, actual);
}
- Expect.equals(expected, actual);
});
data.expectedMap.forEach((Id id, String expected) {
@@ -321,4 +334,9 @@ abstract class AbstractIrComputer extends ir.Visitor
computeForNode(node);
super.visitFunctionDeclaration(node);
}
+
+ visitFunctionExpression(ir.FunctionExpression node) {
+ computeForNode(node);
+ super.visitFunctionExpression(node);
+ }
}
« no previous file with comments | « tests/compiler/dart2js/equivalence/id_equivalence.dart ('k') | tests/compiler/dart2js/equivalence/id_equivalence_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698