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

Side by Side Diff: tests/compiler/dart2js/mixin_typevariable_test.dart

Issue 693183006: Revert "Move dart2js from sdk/lib/_internal/compiler to pkg/compiler" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 mixin_typevariable_test; 5 library mixin_typevariable_test;
6 6
7 import 'package:expect/expect.dart'; 7 import 'package:expect/expect.dart';
8 import "package:async_helper/async_helper.dart"; 8 import "package:async_helper/async_helper.dart";
9 import 'type_test_helper.dart'; 9 import 'type_test_helper.dart';
10 import 'package:compiler/src/dart_types.dart'; 10 import 'package:compiler/implementation/dart_types.dart';
11 import "package:compiler/src/elements/elements.dart" 11 import "package:compiler/implementation/elements/elements.dart"
12 show Element, ClassElement; 12 show Element, ClassElement;
13 13
14 void main() { 14 void main() {
15 testMixinSupertypes(); 15 testMixinSupertypes();
16 testNonTrivialSubstitutions(); 16 testNonTrivialSubstitutions();
17 } 17 }
18 18
19 void testMixinSupertypes() { 19 void testMixinSupertypes() {
20 asyncTest(() => TypeEnvironment.create(r""" 20 asyncTest(() => TypeEnvironment.create(r"""
21 class S<S_T> {} 21 class S<S_T> {}
22 class M1<M1_T> {} 22 class M1<M1_T> {}
23 class M2<M2_T> {} 23 class M2<M2_T> {}
24 class M3<M3_T> {} 24 class M3<M3_T> {}
25 25
26 class C1<C1_T> extends S<C1_T> with M1<C1_T>, M2<C1_T>, M3<C1_T> {} 26 class C1<C1_T> extends S<C1_T> with M1<C1_T>, M2<C1_T>, M3<C1_T> {}
27 class C2<C2_T> = S<C2_T> with M1<C2_T>, M2<C2_T>, M3<C2_T>; 27 class C2<C2_T> = S<C2_T> with M1<C2_T>, M2<C2_T>, M3<C2_T>;
28 """, expectNoWarningsOrErrors: true).then((env) { 28 """, expectNoWarningsOrErrors: true).then((env) {
29 29
30 ClassElement Object = env.getElement('Object'); 30 ClassElement Object = env.getElement('Object');
31 ClassElement S = env.getElement('S'); 31 ClassElement S = env.getElement('S');
32 ClassElement M1 = env.getElement('M1'); 32 ClassElement M1 = env.getElement('M1');
33 ClassElement M2 = env.getElement('M2'); 33 ClassElement M2 = env.getElement('M2');
34 ClassElement M3 = env.getElement('M3'); 34 ClassElement M3 = env.getElement('M3');
35 ClassElement C1 = env.getElement('C1'); 35 ClassElement C1 = env.getElement('C1');
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 testSupertypes(C2_S_M1_M2); 70 testSupertypes(C2_S_M1_M2);
71 testSupertypes(C2); 71 testSupertypes(C2);
72 })); 72 }));
73 } 73 }
74 74
75 void testNonTrivialSubstitutions() { 75 void testNonTrivialSubstitutions() {
76 asyncTest(() => TypeEnvironment.create(r""" 76 asyncTest(() => TypeEnvironment.create(r"""
77 class _ {} 77 class _ {}
78 class A<A_T> {} 78 class A<A_T> {}
79 class B<B_T, B_S> {} 79 class B<B_T, B_S> {}
80 80
81 class C1<C1_T> extends A with B {} 81 class C1<C1_T> extends A with B {}
82 class C2<C2_T> = A with B; 82 class C2<C2_T> = A with B;
83 83
84 class D1<D1_T> extends A<D1_T> with B<D1_T, A<D1_T>> {} 84 class D1<D1_T> extends A<D1_T> with B<D1_T, A<D1_T>> {}
85 class D2<D2_T> = A<D2_T> with B<D2_T, A<D2_T>>; 85 class D2<D2_T> = A<D2_T> with B<D2_T, A<D2_T>>;
86 86
87 class E1<E1_T> extends A<_> with B<_, A<_>> {} 87 class E1<E1_T> extends A<_> with B<_, A<_>> {}
88 class E2<E2_T> = A<_> with B<_, A<_>>; 88 class E2<E2_T> = A<_> with B<_, A<_>>;
89 89
90 class F1<F1_T> extends A<_> with B<_, B<F1_T, _>> {} 90 class F1<F1_T> extends A<_> with B<_, B<F1_T, _>> {}
91 class F2<F2_T> = A<_> with B<_, B<F2_T, _>>; 91 class F2<F2_T> = A<_> with B<_, B<F2_T, _>>;
92 """, expectNoWarningsOrErrors: true).then((env) { 92 """, expectNoWarningsOrErrors: true).then((env) {
93 DartType _dynamic = env['dynamic']; 93 DartType _dynamic = env['dynamic'];
94 DartType _ = env['_']; 94 DartType _ = env['_'];
95 95
96 ClassElement Object = env.getElement('Object'); 96 ClassElement Object = env.getElement('Object');
97 ClassElement A = env.getElement('A'); 97 ClassElement A = env.getElement('A');
98 ClassElement B = env.getElement('B'); 98 ClassElement B = env.getElement('B');
99 ClassElement C1 = env.getElement('C1'); 99 ClassElement C1 = env.getElement('C1');
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 testSupertypes(E2, {A: [_], B: [_, instantiate(A, [_])]}); 149 testSupertypes(E2, {A: [_], B: [_, instantiate(A, [_])]});
150 150
151 DartType F1_T = F1.typeVariables.first; 151 DartType F1_T = F1.typeVariables.first;
152 testSupertypes(F1, {A: [_], B: [_, instantiate(B, [F1_T, _])]}); 152 testSupertypes(F1, {A: [_], B: [_, instantiate(B, [F1_T, _])]});
153 DartType F1_superclass_T = F1.superclass.typeVariables.first; 153 DartType F1_superclass_T = F1.superclass.typeVariables.first;
154 testSupertypes(F1.superclass, {A: [_], B: [_, instantiate(B, [F1_superclass_ T, _])]}); 154 testSupertypes(F1.superclass, {A: [_], B: [_, instantiate(B, [F1_superclass_ T, _])]});
155 DartType F2_T = F2.typeVariables.first; 155 DartType F2_T = F2.typeVariables.first;
156 testSupertypes(F2, {A: [_], B: [_, instantiate(B, [F2_T, _])]}); 156 testSupertypes(F2, {A: [_], B: [_, instantiate(B, [F2_T, _])]});
157 })); 157 }));
158 } 158 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/missing_file_test.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698