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

Side by Side Diff: tests/compiler/dart2js/concrete_type_inference_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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 import 'dart:async';
5 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 import "package:async_helper/async_helper.dart";
6 import 'compiler_helper.dart'; 8 import 'compiler_helper.dart';
7 import 'parser_helper.dart'; 9 import 'parser_helper.dart';
8 10
9 void compileAndFind(String code, String name, 11 Future compileAndFind(String code, String name,
10 check(compiler, element)) { 12 check(compiler, element)) {
11 Uri uri = new Uri(scheme: 'source'); 13 Uri uri = new Uri(scheme: 'source');
12 var compiler = compilerFor(code, uri); 14 var compiler = compilerFor(code, uri);
13 compiler.runCompiler(uri); 15 return compiler.runCompiler(uri).then((_) {
14 var element = findElement(compiler, name); 16 var element = findElement(compiler, name);
15 return check(compiler, element); 17 check(compiler, element);
18 });
16 } 19 }
17 20
18 void checkPrintType(String expression, checkType(compiler, type)) { 21 void checkPrintType(String expression, checkType(compiler, type)) {
19 compileAndFind( 22 asyncTest(() => compileAndFind(
20 'main() { print($expression); }', 23 'main() { print($expression); }',
21 'print', 24 'print',
22 (compiler, printElement) { 25 (compiler, printElement) {
23 var parameter = 26 var parameter =
24 printElement.computeSignature(compiler).requiredParameters.head; 27 printElement.computeSignature(compiler).requiredParameters.head;
25 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter); 28 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter);
26 checkType(compiler, type); 29 checkType(compiler, type);
27 }); 30 }));
28 31
29 compileAndFind( 32 asyncTest(() => compileAndFind(
30 'main() { var x = print; print($expression); }', 33 'main() { var x = print; print($expression); }',
31 'print', 34 'print',
32 (compiler, printElement) { 35 (compiler, printElement) {
33 var parameter = 36 var parameter =
34 printElement.computeSignature(compiler).requiredParameters.head; 37 printElement.computeSignature(compiler).requiredParameters.head;
35 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter); 38 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter);
36 var inferrer = compiler.typesTask.typesInferrer; 39 var inferrer = compiler.typesTask.typesInferrer;
37 Expect.identical(compiler.typesTask.dynamicType, 40 Expect.identical(compiler.typesTask.dynamicType,
38 type.simplify(compiler)); 41 type.simplify(compiler));
39 }); 42 }));
40 43
41 compileAndFind( 44 asyncTest(() => compileAndFind(
42 'main() { print($expression); print($expression); }', 45 'main() { print($expression); print($expression); }',
43 'print', 46 'print',
44 (compiler, printElement) { 47 (compiler, printElement) {
45 var parameter = 48 var parameter =
46 printElement.computeSignature(compiler).requiredParameters.head; 49 printElement.computeSignature(compiler).requiredParameters.head;
47 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter); 50 var type = compiler.typesTask.getGuaranteedTypeOfElement(parameter);
48 checkType(compiler, type); 51 checkType(compiler, type);
49 }); 52 }));
50 } 53 }
51 54
52 void testBasicTypes() { 55 void testBasicTypes() {
53 checkPrintType('true', (compiler, type) { 56 checkPrintType('true', (compiler, type) {
54 var inferrer = compiler.typesTask.typesInferrer; 57 var inferrer = compiler.typesTask.typesInferrer;
55 Expect.identical(compiler.typesTask.boolType, type); 58 Expect.identical(compiler.typesTask.boolType, type);
56 }); 59 });
57 checkPrintType('1.0', (compiler, type) { 60 checkPrintType('1.0', (compiler, type) {
58 var inferrer = compiler.typesTask.typesInferrer; 61 var inferrer = compiler.typesTask.typesInferrer;
59 Expect.identical(compiler.typesTask.doubleType, type); 62 Expect.identical(compiler.typesTask.doubleType, type);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 Expect.identical( 102 Expect.identical(
100 typesTask.nullType, 103 typesTask.nullType,
101 typesTask.getGuaranteedTypeOfElement(thirdParameter)); 104 typesTask.getGuaranteedTypeOfElement(thirdParameter));
102 }); 105 });
103 } 106 }
104 107
105 void main() { 108 void main() {
106 testBasicTypes(); 109 testBasicTypes();
107 testOptionalParameters(); 110 testOptionalParameters();
108 } 111 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/compiler_helper.dart ('k') | tests/compiler/dart2js/cpa_inference_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698