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

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

Issue 2345083003: dart2js: run dartfmt on tests (Closed)
Patch Set: revert another multipart test Created 4 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 unified diff | Download patch
« no previous file with comments | « tests/compiler/dart2js/find_my_name_test.dart ('k') | tests/compiler/dart2js/for_in_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 flatten_test; 5 library flatten_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/src/dart_types.dart';
11 import "package:compiler/src/elements/elements.dart" 11 import "package:compiler/src/elements/elements.dart" show Element, ClassElement;
12 show Element, ClassElement;
13 12
14 void main() { 13 void main() {
15 asyncTest(() => TypeEnvironment.create(r""" 14 asyncTest(() => TypeEnvironment.create(r"""
16 abstract class F<T> implements Future<T> {} 15 abstract class F<T> implements Future<T> {}
17 abstract class G<T> implements Future<G<T>> {} 16 abstract class G<T> implements Future<G<T>> {}
18 abstract class H<T> implements Future<H<H<T>>> {} 17 abstract class H<T> implements Future<H<H<T>>> {}
19 """).then((env) { 18 """).then((env) {
19 void check(DartType T, DartType expectedFlattenedType) {
20 DartType flattenedType = env.flatten(T);
21 Expect.equals(
22 expectedFlattenedType,
23 flattenedType,
24 "Unexpected flattening of '$T' = '$flattenedType',"
25 "expected '$expectedFlattenedType'.");
26 }
20 27
21 void check(DartType T, DartType expectedFlattenedType) { 28 ClassElement Future_ = env.getElement('Future');
22 DartType flattenedType = env.flatten(T); 29 ClassElement F = env.getElement('F');
23 Expect.equals(expectedFlattenedType, flattenedType, 30 ClassElement G = env.getElement('G');
24 "Unexpected flattening of '$T' = '$flattenedType'," 31 ClassElement H = env.getElement('H');
25 "expected '$expectedFlattenedType'."); 32 DartType int_ = env['int'];
26 } 33 DartType dynamic_ = env['dynamic'];
34 DartType Future_int = instantiate(Future_, [int_]);
35 DartType F_int = instantiate(F, [int_]);
36 DartType G_int = instantiate(G, [int_]);
37 DartType H_int = instantiate(H, [int_]);
38 DartType H_H_int = instantiate(H, [H_int]);
27 39
28 ClassElement Future_ = env.getElement('Future'); 40 // flatten(int) = int
29 ClassElement F = env.getElement('F'); 41 check(int_, int_);
30 ClassElement G = env.getElement('G');
31 ClassElement H = env.getElement('H');
32 DartType int_ = env['int'];
33 DartType dynamic_ = env['dynamic'];
34 DartType Future_int = instantiate(Future_, [int_]);
35 DartType F_int = instantiate(F, [int_]);
36 DartType G_int = instantiate(G, [int_]);
37 DartType H_int = instantiate(H, [int_]);
38 DartType H_H_int = instantiate(H, [H_int]);
39 42
40 // flatten(int) = int 43 // flatten(Future) = dynamic
41 check(int_, int_); 44 check(Future_.rawType, dynamic_);
42 45
43 // flatten(Future) = dynamic 46 // flatten(Future<int>) = int
44 check(Future_.rawType, dynamic_); 47 check(Future_int, int_);
45 48
46 // flatten(Future<int>) = int 49 // flatten(Future<Future<int>>) = int
47 check(Future_int, int_); 50 check(instantiate(Future_, [Future_int]), int_);
48 51
49 // flatten(Future<Future<int>>) = int 52 // flatten(F) = dynamic
50 check(instantiate(Future_, [Future_int]), int_); 53 check(F.rawType, dynamic_);
51 54
52 // flatten(F) = dynamic 55 // flatten(F<int>) = int
53 check(F.rawType, dynamic_); 56 check(F_int, int_);
54 57
55 // flatten(F<int>) = int 58 // flatten(F<Future<int>>) = Future<int>
56 check(F_int, int_); 59 check(instantiate(F, [Future_int]), Future_int);
57 60
58 // flatten(F<Future<int>>) = Future<int> 61 // flatten(G) = G
59 check(instantiate(F, [Future_int]), Future_int); 62 check(G.rawType, G.rawType);
60 63
61 // flatten(G) = G 64 // flatten(G<int>) = G<int>
62 check(G.rawType, G.rawType); 65 check(G_int, G_int);
63 66
64 // flatten(G<int>) = G<int> 67 // flatten(H) = H<H>
65 check(G_int, G_int); 68 check(H.rawType, instantiate(H, [H.rawType]));
66 69
67 // flatten(H) = H<H> 70 // flatten(H<int>) = H<H<int>>
68 check(H.rawType, instantiate(H, [H.rawType])); 71 check(H_int, H_H_int);
69 72
70 // flatten(H<int>) = H<H<int>> 73 // flatten(Future<F<int>>) = int
71 check(H_int, H_H_int); 74 check(instantiate(Future_, [F_int]), int_);
72 75
73 // flatten(Future<F<int>>) = int 76 // flatten(Future<G<int>>) = int
74 check(instantiate(Future_, [F_int]), int_); 77 check(instantiate(Future_, [G_int]), G_int);
75 78
76 // flatten(Future<G<int>>) = int 79 // flatten(Future<H<int>>) = int
77 check(instantiate(Future_, [G_int]), G_int); 80 check(instantiate(Future_, [H_int]), H_H_int);
78 81 }));
79 // flatten(Future<H<int>>) = int
80 check(instantiate(Future_, [H_int]), H_H_int);
81 }));
82 } 82 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/find_my_name_test.dart ('k') | tests/compiler/dart2js/for_in_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698