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

Unified Diff: tests/compiler/dart2js/type_combination_test.dart

Issue 326913002: Make dart2js unittests async. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 6 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
« no previous file with comments | « tests/compiler/dart2js/type_checker_test.dart ('k') | tests/compiler/dart2js/type_guard_unuser_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/type_combination_test.dart
diff --git a/tests/compiler/dart2js/type_combination_test.dart b/tests/compiler/dart2js/type_combination_test.dart
index b063bf5fd7b6cd0361106ca8141e94377b182158..5111e1daee203b81367c5061abab7f26a7295c0c 100644
--- a/tests/compiler/dart2js/type_combination_test.dart
+++ b/tests/compiler/dart2js/type_combination_test.dart
@@ -2,6 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import "package:async_helper/async_helper.dart";
import "package:expect/expect.dart";
import "compiler_helper.dart";
import "../../../sdk/lib/_internal/compiler/implementation/types/types.dart";
@@ -676,59 +677,60 @@ void testRegressions(MockCompiler compiler) {
}
void main() {
- MockCompiler compiler = new MockCompiler();
- JavaScriptBackend backend = compiler.backend;
- compiler.interceptorsLibrary.forEachLocalMember((element) {
- if (element.isClass) {
- compiler.enqueuer.resolution.registerInstantiatedClass(
- element, compiler.globalDependencies);
- }
- });
- compiler.enqueuer.resolution.registerInstantiatedClass(
- compiler.mapClass, compiler.globalDependencies);
- compiler.world.populate();
-
- // Grab hold of a supertype for String so we can produce potential
- // string types.
- patternClass = compiler.coreLibrary.find('Pattern');
-
- nonPrimitive1 = new TypeMask.nonNullSubtype(
- compiler.mapClass);
- nonPrimitive2 = new TypeMask.nonNullSubtype(
- compiler.functionClass);
- potentialArray = new TypeMask.subtype(
- compiler.listClass);
- potentialString = new TypeMask.subtype(patternClass);
- jsInterceptor = new TypeMask.nonNullSubclass(backend.jsInterceptorClass);
- jsArrayOrNull = new TypeMask.subclass(backend.jsArrayClass);
- jsReadableArray = new TypeMask.nonNullSubclass(backend.jsArrayClass);
- jsMutableArrayOrNull = new TypeMask.subclass(backend.jsMutableArrayClass);
- jsMutableArray = new TypeMask.nonNullSubclass(backend.jsMutableArrayClass);
- jsFixedArrayOrNull = new TypeMask.exact(backend.jsFixedArrayClass);
- jsFixedArray = new TypeMask.nonNullExact(backend.jsFixedArrayClass);
- jsExtendableArrayOrNull = new TypeMask.exact(backend.jsExtendableArrayClass);
- jsExtendableArray = new TypeMask.nonNullExact(backend.jsExtendableArrayClass);
- jsIndexableOrNull = new TypeMask.subtype(backend.jsIndexableClass);
- jsIndexable = new TypeMask.nonNullSubtype(backend.jsIndexableClass);
- jsInterceptorOrNull = new TypeMask.subclass(backend.jsInterceptorClass);
- jsStringOrNull = new TypeMask.exact(backend.jsStringClass);
- jsString = new TypeMask.nonNullExact(backend.jsStringClass);
- jsBoolean = new TypeMask.nonNullExact(backend.jsBoolClass);
- jsNumber = new TypeMask.nonNullSubclass(backend.jsNumberClass);
- jsInteger = new TypeMask.nonNullExact(backend.jsIntClass);
- jsDouble = new TypeMask.nonNullExact(backend.jsDoubleClass);
- jsBooleanOrNull = new TypeMask.exact(backend.jsBoolClass);
- jsNumberOrNull = new TypeMask.subclass(backend.jsNumberClass);
- jsIntegerOrNull = new TypeMask.exact(backend.jsIntClass);
- jsDoubleOrNull = new TypeMask.exact(backend.jsDoubleClass);
- nullType = const TypeMask.empty();
- objectType = new TypeMask.nonNullSubclass(
- compiler.objectClass);
- emptyType = const TypeMask.nonNullEmpty();
- dynamicType = new TypeMask.subclass(
- compiler.objectClass);
-
- testUnion(compiler);
- testIntersection(compiler);
- testRegressions(compiler);
+ asyncTest(() => MockCompiler.create((MockCompiler compiler) {
+ JavaScriptBackend backend = compiler.backend;
+ compiler.interceptorsLibrary.forEachLocalMember((element) {
+ if (element.isClass) {
+ compiler.enqueuer.resolution.registerInstantiatedClass(
+ element, compiler.globalDependencies);
+ }
+ });
+ compiler.enqueuer.resolution.registerInstantiatedClass(
+ compiler.mapClass, compiler.globalDependencies);
+ compiler.world.populate();
+
+ // Grab hold of a supertype for String so we can produce potential
+ // string types.
+ patternClass = compiler.coreLibrary.find('Pattern');
+
+ nonPrimitive1 = new TypeMask.nonNullSubtype(
+ compiler.mapClass);
+ nonPrimitive2 = new TypeMask.nonNullSubtype(
+ compiler.functionClass);
+ potentialArray = new TypeMask.subtype(
+ compiler.listClass);
+ potentialString = new TypeMask.subtype(patternClass);
+ jsInterceptor = new TypeMask.nonNullSubclass(backend.jsInterceptorClass);
+ jsArrayOrNull = new TypeMask.subclass(backend.jsArrayClass);
+ jsReadableArray = new TypeMask.nonNullSubclass(backend.jsArrayClass);
+ jsMutableArrayOrNull = new TypeMask.subclass(backend.jsMutableArrayClass);
+ jsMutableArray = new TypeMask.nonNullSubclass(backend.jsMutableArrayClass);
+ jsFixedArrayOrNull = new TypeMask.exact(backend.jsFixedArrayClass);
+ jsFixedArray = new TypeMask.nonNullExact(backend.jsFixedArrayClass);
+ jsExtendableArrayOrNull = new TypeMask.exact(backend.jsExtendableArrayClass);
+ jsExtendableArray = new TypeMask.nonNullExact(backend.jsExtendableArrayClass);
+ jsIndexableOrNull = new TypeMask.subtype(backend.jsIndexableClass);
+ jsIndexable = new TypeMask.nonNullSubtype(backend.jsIndexableClass);
+ jsInterceptorOrNull = new TypeMask.subclass(backend.jsInterceptorClass);
+ jsStringOrNull = new TypeMask.exact(backend.jsStringClass);
+ jsString = new TypeMask.nonNullExact(backend.jsStringClass);
+ jsBoolean = new TypeMask.nonNullExact(backend.jsBoolClass);
+ jsNumber = new TypeMask.nonNullSubclass(backend.jsNumberClass);
+ jsInteger = new TypeMask.nonNullExact(backend.jsIntClass);
+ jsDouble = new TypeMask.nonNullExact(backend.jsDoubleClass);
+ jsBooleanOrNull = new TypeMask.exact(backend.jsBoolClass);
+ jsNumberOrNull = new TypeMask.subclass(backend.jsNumberClass);
+ jsIntegerOrNull = new TypeMask.exact(backend.jsIntClass);
+ jsDoubleOrNull = new TypeMask.exact(backend.jsDoubleClass);
+ nullType = const TypeMask.empty();
+ objectType = new TypeMask.nonNullSubclass(
+ compiler.objectClass);
+ emptyType = const TypeMask.nonNullEmpty();
+ dynamicType = new TypeMask.subclass(
+ compiler.objectClass);
+
+ testUnion(compiler);
+ testIntersection(compiler);
+ testRegressions(compiler);
+ }));
}
« no previous file with comments | « tests/compiler/dart2js/type_checker_test.dart ('k') | tests/compiler/dart2js/type_guard_unuser_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698