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

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

Issue 17759007: First pass at asynchronous input loading in dart2js. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments Created 7 years, 3 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/list_tracer_test.dart ('k') | tests/compiler/dart2js/memory_compiler.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/lookup_member_test.dart
diff --git a/tests/compiler/dart2js/lookup_member_test.dart b/tests/compiler/dart2js/lookup_member_test.dart
index ea1d687c3895a99b7469563c35384106dc81826d..261e53cd7feabcd9a3e3c1c6a5d6b936461c5127 100644
--- a/tests/compiler/dart2js/lookup_member_test.dart
+++ b/tests/compiler/dart2js/lookup_member_test.dart
@@ -1,76 +1,78 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// 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.
-
-library subtype_test;
-
-import 'package:expect/expect.dart';
-import 'type_test_helper.dart';
-import '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart';
-import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dart"
- show Element, ClassElement;
-
-void main() {
- test();
-}
-
-void test() {
- var env = new TypeEnvironment(r"""
- class A<T> {
- T foo;
- }
- class B<S> extends A<A<S>> {
- S bar;
- }
- class C<U> extends B<String> with D<B<U>> {
- U baz;
- }
- class D<V> {
- V boz;
- }
- """);
-
- void expect(DartType receiverType, String memberName, DartType expectedType) {
- Member member = receiverType.lookupMember(env.sourceString(memberName));
- Expect.isNotNull(member);
- DartType memberType = member.computeType(env.compiler);
- Expect.equals(expectedType, memberType,
- 'Wrong member type for $receiverType.$memberName.');
- }
-
- DartType int_ = env['int'];
- DartType String_ = env['String'];
-
- ClassElement A = env.getElement('A');
- DartType T = A.typeVariables.head;
- DartType A_T = A.thisType;
- expect(A_T, 'foo', T);
-
- DartType A_int = instantiate(A, [int_]);
- expect(A_int, 'foo', int_);
-
- ClassElement B = env.getElement('B');
- DartType S = B.typeVariables.head;
- DartType B_S = B.thisType;
- expect(B_S, 'foo', instantiate(A, [S]));
- expect(B_S, 'bar', S);
-
- DartType B_int = instantiate(B, [int_]);
- expect(B_int, 'foo', A_int);
- expect(B_int, 'bar', int_);
-
- ClassElement C = env.getElement('C');
- DartType U = C.typeVariables.head;
- DartType C_U = C.thisType;
- expect(C_U, 'foo', instantiate(A, [String_]));
- expect(C_U, 'bar', String_);
- expect(C_U, 'baz', U);
- expect(C_U, 'boz', instantiate(B, [U]));
-
- DartType C_int = instantiate(C, [int_]);
- expect(C_int, 'foo', instantiate(A, [String_]));
- expect(C_int, 'bar', String_);
- expect(C_int, 'baz', int_);
- expect(C_int, 'boz', instantiate(B, [int_]));
-}
-
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+library subtype_test;
+
+import 'package:expect/expect.dart';
+import "package:async_helper/async_helper.dart";
+import 'type_test_helper.dart';
+import '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart';
+import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dart"
+ show Element, ClassElement;
+
+void main() {
+ test();
+}
+
+void test() {
+ asyncTest(() => TypeEnvironment.create(r"""
+ class A<T> {
+ T foo;
+ }
+ class B<S> extends A<A<S>> {
+ S bar;
+ }
+ class C<U> extends B<String> with D<B<U>> {
+ U baz;
+ }
+ class D<V> {
+ V boz;
+ }
+ """).then((env) {
+ void expect(DartType receiverType, String memberName,
+ DartType expectedType) {
+ Member member = receiverType.lookupMember(env.sourceString(memberName));
+ Expect.isNotNull(member);
+ DartType memberType = member.computeType(env.compiler);
+ Expect.equals(expectedType, memberType,
+ 'Wrong member type for $receiverType.$memberName.');
+ }
+
+ DartType int_ = env['int'];
+ DartType String_ = env['String'];
+
+ ClassElement A = env.getElement('A');
+ DartType T = A.typeVariables.head;
+ DartType A_T = A.thisType;
+ expect(A_T, 'foo', T);
+
+ DartType A_int = instantiate(A, [int_]);
+ expect(A_int, 'foo', int_);
+
+ ClassElement B = env.getElement('B');
+ DartType S = B.typeVariables.head;
+ DartType B_S = B.thisType;
+ expect(B_S, 'foo', instantiate(A, [S]));
+ expect(B_S, 'bar', S);
+
+ DartType B_int = instantiate(B, [int_]);
+ expect(B_int, 'foo', A_int);
+ expect(B_int, 'bar', int_);
+
+ ClassElement C = env.getElement('C');
+ DartType U = C.typeVariables.head;
+ DartType C_U = C.thisType;
+ expect(C_U, 'foo', instantiate(A, [String_]));
+ expect(C_U, 'bar', String_);
+ expect(C_U, 'baz', U);
+ expect(C_U, 'boz', instantiate(B, [U]));
+
+ DartType C_int = instantiate(C, [int_]);
+ expect(C_int, 'foo', instantiate(A, [String_]));
+ expect(C_int, 'bar', String_);
+ expect(C_int, 'baz', int_);
+ expect(C_int, 'boz', instantiate(B, [int_]));
+ }));
+}
+
« no previous file with comments | « tests/compiler/dart2js/list_tracer_test.dart ('k') | tests/compiler/dart2js/memory_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698