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

Unified Diff: pkg/analysis_server/test/src/sdk_ext_test.dart

Issue 1213613017: Add support for .sdkext file to analysis server (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/sdk_ext.dart ('k') | pkg/analysis_server/test/src/test_all.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/test/src/sdk_ext_test.dart
diff --git a/pkg/analysis_server/test/src/sdk_ext_test.dart b/pkg/analysis_server/test/src/sdk_ext_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..f07417821e96231bd85aaeda3520c0c574462801
--- /dev/null
+++ b/pkg/analysis_server/test/src/sdk_ext_test.dart
@@ -0,0 +1,97 @@
+// 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 analysis_server.test.src.sdk_ext;
+
+import 'package:analysis_server/src/sdk_ext.dart';
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/file_system/memory_file_system.dart';
+import 'package:unittest/unittest.dart';
+
+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;
+}
+
+main() {
+ groupSep = ' | ';
+ 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'));
+ });
+ test('test_resolvePart', () {
+ var resolver = new SdkExtUriResolver({
+ 'fox': [resourceProvider.getResource('/tmp')]
+ });
+ var source = resolver.resolveAbsolute(Uri.parse('dart:fox/foo.dart'));
+ expect(source, isNotNull);
+ // Restore source's uri.
+ var restoreUri = resolver.restoreAbsolute(source);
+ expect(restoreUri, isNotNull);
+ // Verify that it is 'dart:fox/foo.dart'.
+ expect(restoreUri.toString(), equals('dart:fox/foo.dart'));
+ expect(restoreUri.scheme, equals('dart'));
+ expect(restoreUri.path, equals('fox/foo.dart'));
+ });
+ });
+}
« no previous file with comments | « pkg/analysis_server/lib/src/sdk_ext.dart ('k') | pkg/analysis_server/test/src/test_all.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698