| OLD | NEW |
| 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 "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import 'dart:async'; | 6 import 'dart:async'; |
| 7 import 'dart:io' as io; |
| 7 import "package:async_helper/async_helper.dart"; | 8 import "package:async_helper/async_helper.dart"; |
| 8 import '../mock_compiler.dart'; | 9 import '../mock_compiler.dart'; |
| 9 import '../mock_libraries.dart'; | 10 import '../mock_libraries.dart'; |
| 10 import '../output_collector.dart'; | 11 import '../output_collector.dart'; |
| 11 import 'package:compiler/compiler.dart'; | 12 import 'package:compiler/compiler.dart'; |
| 12 import 'package:compiler/src/common/names.dart' show Identifiers; | 13 import 'package:compiler/src/common/names.dart' show Identifiers; |
| 13 import 'package:compiler/src/dart_backend/dart_backend.dart'; | 14 import 'package:compiler/src/dart_backend/dart_backend.dart'; |
| 14 import 'package:compiler/src/elements/elements.dart'; | 15 import 'package:compiler/src/elements/elements.dart'; |
| 15 import 'package:compiler/src/tree/tree.dart'; | 16 import 'package:compiler/src/tree/tree.dart'; |
| 16 | 17 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 fileUri(path) => new Uri(scheme: 'file', path: path); | 52 fileUri(path) => new Uri(scheme: 'file', path: path); |
| 52 | 53 |
| 53 final scriptUri = fileUri('script.dart'); | 54 final scriptUri = fileUri('script.dart'); |
| 54 final libUri = fileUri('mylib.dart'); | 55 final libUri = fileUri('mylib.dart'); |
| 55 | 56 |
| 56 provider(uri) { | 57 provider(uri) { |
| 57 if (uri == scriptUri) return new Future.value(mainSrc); | 58 if (uri == scriptUri) return new Future.value(mainSrc); |
| 58 if (uri.toString() == libUri.toString()) { | 59 if (uri.toString() == libUri.toString()) { |
| 59 return new Future.value(librarySrc); | 60 return new Future.value(librarySrc); |
| 60 } | 61 } |
| 61 if (uri.path.endsWith('/core.dart')) { | 62 if (uri.path.endsWith('/dart2dart.platform')) { |
| 63 return new io.File.fromUri(uri).readAsBytes(); |
| 64 } else if (uri.path.endsWith('/core.dart')) { |
| 62 return new Future.value(buildLibrarySource(DEFAULT_CORE_LIBRARY)); | 65 return new Future.value(buildLibrarySource(DEFAULT_CORE_LIBRARY)); |
| 63 } else if (uri.path.endsWith('/core_patch.dart')) { | 66 } else if (uri.path.endsWith('/core_patch.dart')) { |
| 64 return new Future.value(DEFAULT_PATCH_CORE_SOURCE); | 67 return new Future.value(DEFAULT_PATCH_CORE_SOURCE); |
| 65 } else if (uri.path.endsWith('/io.dart')) { | 68 } else if (uri.path.endsWith('/io.dart')) { |
| 66 return new Future.value(ioLib); | 69 return new Future.value(ioLib); |
| 67 } else if (uri.path.endsWith('/js_helper.dart')) { | 70 } else if (uri.path.endsWith('/js_helper.dart')) { |
| 68 return new Future.value(buildLibrarySource(DEFAULT_JS_HELPER_LIBRARY)); | 71 return new Future.value(buildLibrarySource(DEFAULT_JS_HELPER_LIBRARY)); |
| 69 } else if (uri.path.endsWith('/html_dart2js.dart')) { | 72 } else if (uri.path.endsWith('/html_dart2js.dart')) { |
| 70 // TODO(smok): The file should change to html_dartium at some point. | 73 // TODO(smok): The file should change to html_dartium at some point. |
| 71 return new Future.value(htmlLib); | 74 return new Future.value(htmlLib); |
| 72 } else if (uri.path.endsWith('/foreign_helper.dart')) { | 75 } else if (uri.path.endsWith('/foreign_helper.dart')) { |
| 73 return new Future.value( | 76 return new Future.value( |
| 74 buildLibrarySource(DEFAULT_FOREIGN_HELPER_LIBRARY)); | 77 buildLibrarySource(DEFAULT_FOREIGN_HELPER_LIBRARY)); |
| 75 } else if (uri.path.endsWith('/isolate_helper.dart')) { | 78 } else if (uri.path.endsWith('/isolate_helper.dart')) { |
| 76 return new Future.value( | 79 return new Future.value( |
| 77 buildLibrarySource(DEFAULT_ISOLATE_HELPER_LIBRARY)); | 80 buildLibrarySource(DEFAULT_ISOLATE_HELPER_LIBRARY)); |
| 78 } | 81 } |
| 79 return new Future.value(''); | 82 return new Future.value(''); |
| 80 } | 83 } |
| 81 | 84 |
| 82 handler(uri, begin, end, message, kind) { | 85 handler(uri, begin, end, message, kind) { |
| 83 if (identical(kind, Diagnostic.ERROR) || identical(kind, Diagnostic.CRASH))
{ | 86 if (identical(kind, Diagnostic.ERROR) || identical(kind, Diagnostic.CRASH))
{ |
| 84 Expect.fail('$uri: $begin-$end: $message [$kind]'); | 87 Expect.fail('$uri: $begin-$end: $message [$kind]'); |
| 85 } | 88 } |
| 86 } | 89 } |
| 87 | 90 |
| 88 final options = <String>['--output-type=dart']; | 91 final options = <String>['--output-type=dart']; |
| 89 // Some tests below are using dart:io. | 92 // Some tests below are using dart:io. |
| 90 options.add('--categories=Client,Server'); | |
| 91 if (minify) options.add('--minify'); | 93 if (minify) options.add('--minify'); |
| 92 if (stripTypes) options.add('--force-strip=types'); | 94 if (stripTypes) options.add('--force-strip=types'); |
| 93 | 95 |
| 94 asyncTest(() { | 96 asyncTest(() { |
| 95 OutputCollector outputCollector = new OutputCollector(); | 97 OutputCollector outputCollector = new OutputCollector(); |
| 96 return compile( | 98 return compile( |
| 97 scriptUri, | 99 scriptUri, |
| 98 fileUri('libraryRoot/'), | 100 Uri.base.resolve('sdk/'), |
| 99 fileUri('packageRoot/'), | 101 fileUri('packageRoot/'), |
| 100 provider, | 102 provider, |
| 101 handler, | 103 handler, |
| 102 options, | 104 options, |
| 103 outputCollector).then((_) { | 105 outputCollector).then((_) { |
| 104 String code = outputCollector.getOutput('', 'dart'); | 106 String code = outputCollector.getOutput('', 'dart'); |
| 105 Expect.equals(expectedResult, code, | 107 Expect.equals(expectedResult, code, |
| 106 'expected:\n$expectedResult\nactual:\n$code'); | 108 'expected:\n$expectedResult\nactual:\n$code'); |
| 107 }); | 109 }); |
| 108 }); | 110 }); |
| (...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1108 testParametersMinified(); | 1110 testParametersMinified(); |
| 1109 testDeclarationTypePlaceholders(); | 1111 testDeclarationTypePlaceholders(); |
| 1110 testPlatformLibraryMemberNamesAreFixed(); | 1112 testPlatformLibraryMemberNamesAreFixed(); |
| 1111 testConflictsWithCoreLib(); | 1113 testConflictsWithCoreLib(); |
| 1112 testUnresolvedNamedConstructor1(); | 1114 testUnresolvedNamedConstructor1(); |
| 1113 testUnresolvedNamedConstructor2(); | 1115 testUnresolvedNamedConstructor2(); |
| 1114 testUnresolvedNamedConstructor3(); | 1116 testUnresolvedNamedConstructor3(); |
| 1115 testClassAndNamedMixinDeclarations(); | 1117 testClassAndNamedMixinDeclarations(); |
| 1116 } | 1118 } |
| 1117 | 1119 |
| OLD | NEW |