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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library analyzer.test.src.context.context_factory_test;
6
7 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/src/context/context_factory.dart';
10 import 'package:unittest/unittest.dart';
11
12 import '../../utils.dart';
13
14 main() {
15 initializeTestEnvironment();
16
17 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!
18 MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
19
20 Folder empty = resourceProvider.newFolder('/empty');
21 Folder tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext');
22 Folder tmp_embedder = resourceProvider.newFolder('/tmp_embedder');
23
24 Map<String, List<Folder>> packageMap = <String, List<Folder>>{
25 'empty': [empty],
26 'tmp_embedder': [tmp_embedder],
27 'tmp_sdk_ext': [tmp_sdk_ext]
28 };
29
30 test('basic processing', () {
31 resourceProvider.newFile(
32 '/tmp_sdk_ext/_sdkext',
33 r'''
34 {
35 "dart:ui": "ui.dart"
36 }''');
37 resourceProvider.newFile(
38 '/tmp_embedder/_embedder.yaml',
39 r'''
40 embedded_libs:
41 "dart:core" : "core.dart"
42 "dart:fox": "slippy.dart"
43 "dart:bear": "grizzly.dart"
44 "dart:relative": "../relative.dart"
45 "dart:deep": "deep/directory/file.dart"
46 ''');
47
48 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
49 expect(proc.embeddedLibraries.size(), 5);
50 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
51 });
52 test('extenders do not override', () {
53 resourceProvider.newFile(
54 '/tmp_sdk_ext/_sdkext',
55 r'''
56 {
57 "dart:ui": "ui2.dart"
58 }''');
59 resourceProvider.newFile(
60 '/tmp_embedder/_embedder.yaml',
61 r'''
62 embedded_libs:
63 "dart:core" : "core.dart"
64 "dart:ui": "ui.dart"
65 ''');
66
67 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
68 expect(proc.embeddedLibraries.size(), 2);
69 expect(proc.extendedLibraries.size(), 1);
70 expect(proc.libraryMap.size(), 2);
71 expect(
72 proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart');
73 });
74 });
75 }
OLDNEW
« 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