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

Unified Diff: pkg/analyzer/test/src/context/context_factory_test.dart

Issue 2043963004: Package map processing abstraction. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 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
Index: pkg/analyzer/test/src/context/context_factory_test.dart
diff --git a/pkg/analyzer/test/src/context/context_factory_test.dart b/pkg/analyzer/test/src/context/context_factory_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..bc64fbe6c8495aaeff87ee97be18d56e7c935627
--- /dev/null
+++ b/pkg/analyzer/test/src/context/context_factory_test.dart
@@ -0,0 +1,75 @@
+// Copyright (c) 2016, 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 analyzer.test.src.context.context_factory_test;
+
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/file_system/memory_file_system.dart';
+import 'package:analyzer/src/context/context_factory.dart';
+import 'package:unittest/unittest.dart';
+
+import '../../utils.dart';
+
+main() {
+ initializeTestEnvironment();
+
+ group('PackageMapProcessor', () {
Brian Wilkerson 2016/06/07 20:48:48 There are a lot of cases not tested here. - What i
pquitslund 2016/06/07 20:59:58 Your wish is my command. :) Done!
+ MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
+
+ Folder empty = resourceProvider.newFolder('/empty');
+ Folder tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext');
+ Folder tmp_embedder = resourceProvider.newFolder('/tmp_embedder');
+
+ Map<String, List<Folder>> packageMap = <String, List<Folder>>{
+ 'empty': [empty],
+ 'tmp_embedder': [tmp_embedder],
+ 'tmp_sdk_ext': [tmp_sdk_ext]
+ };
+
+ test('basic processing', () {
+ resourceProvider.newFile(
+ '/tmp_sdk_ext/_sdkext',
+ r'''
+ {
+ "dart:ui": "ui.dart"
+ }''');
+ resourceProvider.newFile(
+ '/tmp_embedder/_embedder.yaml',
+ r'''
+embedded_libs:
+ "dart:core" : "core.dart"
+ "dart:fox": "slippy.dart"
+ "dart:bear": "grizzly.dart"
+ "dart:relative": "../relative.dart"
+ "dart:deep": "deep/directory/file.dart"
+''');
+
+ PackageMapProcessor proc = new PackageMapProcessor(packageMap);
+ expect(proc.embeddedLibraries.size(), 5);
+ expect(proc.extendedLibraries.size(), 1);
Brian Wilkerson 2016/06/07 20:48:48 We should test that the library map has the right
pquitslund 2016/06/07 20:59:58 Agreed. I'll follow up with a test-full follow up
+ });
+ test('extenders do not override', () {
+ resourceProvider.newFile(
+ '/tmp_sdk_ext/_sdkext',
+ r'''
+ {
+ "dart:ui": "ui2.dart"
+ }''');
+ resourceProvider.newFile(
+ '/tmp_embedder/_embedder.yaml',
+ r'''
+embedded_libs:
+ "dart:core" : "core.dart"
+ "dart:ui": "ui.dart"
+''');
+
+ PackageMapProcessor proc = new PackageMapProcessor(packageMap);
+ expect(proc.embeddedLibraries.size(), 2);
+ expect(proc.extendedLibraries.size(), 1);
+ expect(proc.libraryMap.size(), 2);
+ expect(
+ proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart');
+ });
+ });
+}
« pkg/analyzer/lib/src/context/context_factory.dart ('K') | « pkg/analyzer/lib/src/generated/sdk.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698