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'); |
+ }); |
+ }); |
+} |