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

Side by Side Diff: tests/compiler/dart2js/missing_file_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) 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 // Test that the compiler can handle imports when package root has not been set. 5 // Test that the compiler can handle imports when package root has not been set.
6 6
7 library dart2js.test.package_root; 7 library dart2js.test.missing_file;
8 8
9 import 'package:expect/expect.dart'; 9 import 'package:expect/expect.dart';
10 import "package:async_helper/async_helper.dart";
10 import 'memory_source_file_helper.dart'; 11 import 'memory_source_file_helper.dart';
11 12
12 import '../../../sdk/lib/_internal/compiler/implementation/dart2jslib.dart' 13 import '../../../sdk/lib/_internal/compiler/implementation/dart2jslib.dart'
13 show NullSink; 14 show NullSink;
14 15
15 import '../../../sdk/lib/_internal/compiler/compiler.dart' 16 import '../../../sdk/lib/_internal/compiler/compiler.dart'
16 show DiagnosticHandler, Diagnostic; 17 show DiagnosticHandler, Diagnostic;
17 18
18 import 'dart:async'; 19 import 'dart:async';
19 20
20 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ; 21 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ;
21 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart'; 22 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart';
22 23
23 const MEMORY_SOURCE_FILES = const { 24 const MEMORY_SOURCE_FILES = const {
24 'main.dart': ''' 25 'main.dart': '''
25 26
26 import 'package:foo/foo.dart'; 27 import 'foo.dart';
27 28
28 main() {} 29 main() {}
29 ''', 30 ''',
30 }; 31 };
31 32
32 void runCompiler(Uri main) { 33 void runCompiler(Uri main, String expectedMessage) {
33 Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script)); 34 Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script));
34 Uri libraryRoot = script.resolve('../../../sdk/'); 35 Uri libraryRoot = script.resolve('../../../sdk/');
35 36
36 MemorySourceFileProvider.MEMORY_SOURCE_FILES = MEMORY_SOURCE_FILES; 37 var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
37 var provider = new MemorySourceFileProvider();
38 var handler = new FormattingDiagnosticHandler(provider); 38 var handler = new FormattingDiagnosticHandler(provider);
39 var errors = []; 39 var errors = [];
40 40
41 void diagnosticHandler(Uri uri, int begin, int end, String message, 41 void diagnosticHandler(Uri uri, int begin, int end, String message,
42 Diagnostic kind) { 42 Diagnostic kind) {
43 if (kind == Diagnostic.ERROR) { 43 if (kind == Diagnostic.ERROR) {
44 errors.add(message); 44 errors.add(message);
45 } 45 }
46 handler(uri, begin, end, message, kind); 46 handler(uri, begin, end, message, kind);
47 } 47 }
48 48
49 49
50 EventSink<String> outputProvider(String name, String extension) { 50 EventSink<String> outputProvider(String name, String extension) {
51 if (name != '') throw 'Attempt to output file "$name.$extension"'; 51 if (name != '') throw 'Attempt to output file "$name.$extension"';
52 return new NullSink('$name.$extension'); 52 return new NullSink('$name.$extension');
53 } 53 }
54 54
55 Compiler compiler = new Compiler(provider.readStringFromUri, 55 Compiler compiler = new Compiler(provider,
56 outputProvider, 56 outputProvider,
57 diagnosticHandler, 57 diagnosticHandler,
58 libraryRoot, 58 libraryRoot,
59 null, 59 null,
60 []); 60 []);
61 61
62 compiler.run(main); 62 asyncTest(() => compiler.run(main).then((_) {
63 Expect.equals(1, errors.length); 63 Expect.equals(1, errors.length);
64 Expect.equals('Error: Cannot resolve "package:foo/foo.dart". ' 64 Expect.equals(expectedMessage,
65 'Package root has not been set.', 65 errors[0]);
66 errors[0]); 66 }));
67 } 67 }
68 68
69 void main() { 69 void main() {
70 runCompiler(Uri.parse('memory:main.dart')); 70 runCompiler(Uri.parse('memory:main.dart'),
71 runCompiler(Uri.parse('package:foo/foo.dart')); 71 "Error: Can't read 'memory:foo.dart' "
72 "(No such file memory:foo.dart).");
73 runCompiler(Uri.parse('memory:foo.dart'),
74 "Error: Can't read 'memory:foo.dart' "
75 "(No such file memory:foo.dart).");
76 runCompiler(Uri.parse('dart:foo'),
77 'Error: Library not found "dart:foo".');
72 } 78 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/mirrors_used_test.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698