| Index: mojo/public/dart/third_party/analyzer/test/source/sdk_ext_test.dart
|
| diff --git a/mojo/public/dart/third_party/analyzer/test/source/sdk_ext_test.dart b/mojo/public/dart/third_party/analyzer/test/source/sdk_ext_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..01416af8ed1db36f78c5a2900f565d0ede3473cb
|
| --- /dev/null
|
| +++ b/mojo/public/dart/third_party/analyzer/test/source/sdk_ext_test.dart
|
| @@ -0,0 +1,86 @@
|
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library test.source.sdk_ext;
|
| +
|
| +import 'package:analyzer/file_system/memory_file_system.dart';
|
| +import 'package:analyzer/source/sdk_ext.dart';
|
| +import 'package:unittest/unittest.dart';
|
| +
|
| +import '../utils.dart';
|
| +
|
| +main() {
|
| + initializeTestEnvironment();
|
| + group('SdkExtUriResolverTest', () {
|
| + setUp(() {
|
| + buildResourceProvider();
|
| + });
|
| + tearDown(() {
|
| + clearResourceProvider();
|
| + });
|
| + test('test_NullPackageMap', () {
|
| + var resolver = new SdkExtUriResolver(null);
|
| + expect(resolver.length, equals(0));
|
| + });
|
| + test('test_NoSdkExtPackageMap', () {
|
| + var resolver = new SdkExtUriResolver({
|
| + 'fox': [resourceProvider.getResource('/empty')]
|
| + });
|
| + expect(resolver.length, equals(0));
|
| + });
|
| + test('test_SdkExtPackageMap', () {
|
| + var resolver = new SdkExtUriResolver({
|
| + 'fox': [resourceProvider.getResource('/tmp')]
|
| + });
|
| + // We have four mappings.
|
| + expect(resolver.length, equals(4));
|
| + // Check that they map to the correct paths.
|
| + expect(resolver['dart:fox'], equals("/tmp/slippy.dart"));
|
| + expect(resolver['dart:bear'], equals("/tmp/grizzly.dart"));
|
| + expect(resolver['dart:relative'], equals("/relative.dart"));
|
| + expect(resolver['dart:deep'], equals("/tmp/deep/directory/file.dart"));
|
| + });
|
| + test('test_BadJSON', () {
|
| + var resolver = new SdkExtUriResolver(null);
|
| + resolver.addSdkExt(r'''{{{,{{}}},}}''', null);
|
| + expect(resolver.length, equals(0));
|
| + });
|
| + test('test_restoreAbsolute', () {
|
| + var resolver = new SdkExtUriResolver({
|
| + 'fox': [resourceProvider.getResource('/tmp')]
|
| + });
|
| + var source = resolver.resolveAbsolute(Uri.parse('dart:fox'));
|
| + expect(source, isNotNull);
|
| + // Restore source's uri.
|
| + var restoreUri = resolver.restoreAbsolute(source);
|
| + expect(restoreUri, isNotNull);
|
| + // Verify that it is 'dart:fox'.
|
| + expect(restoreUri.toString(), equals('dart:fox'));
|
| + expect(restoreUri.scheme, equals('dart'));
|
| + expect(restoreUri.path, equals('fox'));
|
| + });
|
| + });
|
| +}
|
| +
|
| +MemoryResourceProvider resourceProvider;
|
| +
|
| +buildResourceProvider() {
|
| + resourceProvider = new MemoryResourceProvider();
|
| + resourceProvider.newFolder('/empty');
|
| + resourceProvider.newFolder('/tmp');
|
| + resourceProvider.newFile(
|
| + '/tmp/_sdkext',
|
| + r'''
|
| + {
|
| + "dart:fox": "slippy.dart",
|
| + "dart:bear": "grizzly.dart",
|
| + "dart:relative": "../relative.dart",
|
| + "dart:deep": "deep/directory/file.dart",
|
| + "fart:loudly": "nomatter.dart"
|
| + }''');
|
| +}
|
| +
|
| +clearResourceProvider() {
|
| + resourceProvider = null;
|
| +}
|
|
|