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