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

Side by Side Diff: tests/compiler/dart2js/diagnose_ambiguous_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: Rebased 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) 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 import 'package:expect/expect.dart'; 5 import 'package:expect/expect.dart';
6 import "../../async_helper.dart";
6 import 'memory_source_file_helper.dart'; 7 import 'memory_source_file_helper.dart';
7 8
8 import '../../../sdk/lib/_internal/compiler/compiler.dart' 9 import '../../../sdk/lib/_internal/compiler/compiler.dart'
9 show Diagnostic; 10 show Diagnostic;
10 11
11 import 'dart:json'; 12 import 'dart:json';
12 13
13 main() { 14 main() {
14 Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script)); 15 Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script));
15 Uri libraryRoot = script.resolve('../../../sdk/'); 16 Uri libraryRoot = script.resolve('../../../sdk/');
16 Uri packageRoot = script.resolve('./packages/'); 17 Uri packageRoot = script.resolve('./packages/');
17 18
18 MemorySourceFileProvider.MEMORY_SOURCE_FILES = MEMORY_SOURCE_FILES; 19 var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
19 var provider = new MemorySourceFileProvider();
20 var diagnostics = []; 20 var diagnostics = [];
21 void diagnosticHandler(Uri uri, int begin, int end, 21 void diagnosticHandler(Uri uri, int begin, int end,
22 String message, Diagnostic kind) { 22 String message, Diagnostic kind) {
23 if (kind == Diagnostic.VERBOSE_INFO) { 23 if (kind == Diagnostic.VERBOSE_INFO) {
24 return; 24 return;
25 } 25 }
26 diagnostics.add('$uri:$begin:$end:$message:$kind'); 26 diagnostics.add('$uri:$begin:$end:$message:$kind');
27 } 27 }
28 28
29 Compiler compiler = new Compiler(provider.readStringFromUri, 29 Compiler compiler = new Compiler(provider.readStringFromUri,
30 (name, extension) => null, 30 (name, extension) => null,
31 diagnosticHandler, 31 diagnosticHandler,
32 libraryRoot, 32 libraryRoot,
33 packageRoot, 33 packageRoot,
34 ['--analyze-only']); 34 ['--analyze-only']);
35 compiler.run(Uri.parse('memory:main.dart')); 35 asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
36 diagnostics.sort(); 36 diagnostics.sort();
37 var expected = [ 37 var expected = [
38 'memory:exporter.dart:43:47:Info: "function(hest)" is defined here.:info', 38 'memory:exporter.dart:43:47:Info: "function(hest)" is defined here.'
39 'memory:library.dart:14:19:Info: "class(Fisk)" is (re)exported by ' 39 ':info',
40 'multiple libraries.:info', 40 'memory:library.dart:14:19:Info: "class(Fisk)" is (re)exported by '
41 'memory:library.dart:30:34:Info: "function(fisk)" is (re)exported by ' 41 'multiple libraries.:info',
42 'multiple libraries.:info', 42 'memory:library.dart:30:34:Info: "function(fisk)" is (re)exported by '
43 'memory:library.dart:41:45:Info: "function(hest)" is defined here.' 43 'multiple libraries.:info',
44 ':info', 44 'memory:library.dart:41:45:Info: "function(hest)" is defined here.'
45 'memory:main.dart:0:22:Info: "class(Fisk)" is imported here.:info', 45 ':info',
46 'memory:main.dart:0:22:Info: "function(fisk)" is imported here.:info', 46 'memory:main.dart:0:22:Info: "class(Fisk)" is imported here.:info',
47 'memory:main.dart:0:22:Info: "function(hest)" is imported here.:info', 47 'memory:main.dart:0:22:Info: "function(fisk)" is imported here.:info',
48 'memory:main.dart:23:46:Info: "class(Fisk)" is imported here.:info', 48 'memory:main.dart:0:22:Info: "function(hest)" is imported here.:info',
49 'memory:main.dart:23:46:Info: "function(fisk)" is imported here.:info', 49 'memory:main.dart:23:46:Info: "class(Fisk)" is imported here.:info',
50 'memory:main.dart:23:46:Info: "function(hest)" is imported here.:info', 50 'memory:main.dart:23:46:Info: "function(fisk)" is imported here.:info',
51 'memory:main.dart:59:63:Warning: Duplicate import of "Fisk".:warning', 51 'memory:main.dart:23:46:Info: "function(hest)" is imported here.:info',
52 'memory:main.dart:76:80:Error: Duplicate import of "fisk".:error', 52 'memory:main.dart:59:63:Warning: Duplicate import of "Fisk".:warning',
53 'memory:main.dart:86:90:Error: Duplicate import of "hest".:error' 53 'memory:main.dart:76:80:Error: Duplicate import of "fisk".:error',
54 ]; 54 'memory:main.dart:86:90:Error: Duplicate import of "hest".:error'
55 Expect.listEquals(expected, diagnostics); 55 ];
56 Expect.isTrue(compiler.compilationFailed); 56 Expect.listEquals(expected, diagnostics);
57 Expect.isTrue(compiler.compilationFailed);
58 }));
57 } 59 }
58 60
59 const Map MEMORY_SOURCE_FILES = const { 61 const Map MEMORY_SOURCE_FILES = const {
60 'main.dart': """ 62 'main.dart': """
61 import 'library.dart'; 63 import 'library.dart';
62 import 'exporter.dart'; 64 import 'exporter.dart';
63 65
64 main() { 66 main() {
65 Fisk x = null; 67 Fisk x = null;
66 fisk(); 68 fisk();
(...skipping 11 matching lines...) Expand all
78 hest() {} 80 hest() {}
79 """, 81 """,
80 'exporter.dart': """ 82 'exporter.dart': """
81 library exporter; 83 library exporter;
82 84
83 export 'library.dart'; 85 export 'library.dart';
84 86
85 hest() {} 87 hest() {}
86 """, 88 """,
87 }; 89 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698