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

Side by Side Diff: pkg/analyzer/test/src/context/context_factory_test.dart

Issue 2046493006: Package map processing tests. (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
« no previous file with comments | « no previous file | pkg/analyzer/test/src/context/test_all.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer.test.src.context.context_factory_test; 5 library analyzer.test.src.context.context_factory_test;
6 6
7 import 'package:analyzer/file_system/file_system.dart'; 7 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart'; 8 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/src/context/context_factory.dart'; 9 import 'package:analyzer/src/context/context_factory.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
11 11
12 import '../../reflective_tests.dart'; 12 import '../../reflective_tests.dart';
13 import '../../utils.dart'; 13 import '../../utils.dart';
14 14
15 main() { 15 main() {
16 initializeTestEnvironment(); 16 initializeTestEnvironment();
17 runReflectiveTests(PackageMapProcessorTest); 17 runReflectiveTests(PackageMapProcessorTest);
18 } 18 }
19 19
20 @reflectiveTest 20 @reflectiveTest
21 class PackageMapProcessorTest { 21 class PackageMapProcessorTest {
22 static MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); 22 MemoryResourceProvider resourceProvider;
23 23
24 static Folder empty = resourceProvider.newFolder('/empty'); 24 Folder empty;
25 static Folder tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext'); 25 Folder tmp_sdk_ext;
26 static Folder tmp_embedder = resourceProvider.newFolder('/tmp_embedder'); 26 Folder tmp_embedder;
27 Map<String, List<Folder>> packageMap;
27 28
28 static Map<String, List<Folder>> packageMap = <String, List<Folder>>{ 29 void setUp() {
29 'empty': [empty], 30 resourceProvider = new MemoryResourceProvider();
30 'tmp_embedder': [tmp_embedder], 31 empty = resourceProvider.newFolder('/empty');
31 'tmp_sdk_ext': [tmp_sdk_ext] 32 tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext');
32 }; 33 tmp_embedder = resourceProvider.newFolder('/tmp_embedder');
34 packageMap = <String, List<Folder>>{
35 'empty': [empty],
36 'tmp_embedder': [tmp_embedder],
37 'tmp_sdk_ext': [tmp_sdk_ext]
38 };
39 }
33 40
34 void test_basic_processing() { 41 void test_basic_processing() {
35 resourceProvider.newFile( 42 resourceProvider.newFile(
36 '/tmp_sdk_ext/_sdkext', 43 '/tmp_sdk_ext/_sdkext',
37 r''' 44 r'''
38 { 45 {
39 "dart:ui": "ui.dart" 46 "dart:ui": "ui.dart"
40 }'''); 47 }''');
41 resourceProvider.newFile( 48 resourceProvider.newFile(
42 '/tmp_embedder/_embedder.yaml', 49 '/tmp_embedder/_embedder.yaml',
43 r''' 50 r'''
44 embedded_libs: 51 embedded_libs:
45 "dart:core" : "core.dart" 52 "dart:core" : "core.dart"
46 "dart:fox": "slippy.dart" 53 "dart:fox": "slippy.dart"
47 "dart:bear": "grizzly.dart" 54 "dart:bear": "grizzly.dart"
48 "dart:relative": "../relative.dart" 55 "dart:relative": "../relative.dart"
49 "dart:deep": "deep/directory/file.dart" 56 "dart:deep": "deep/directory/file.dart"
50 '''); 57 ''');
51 58
52 PackageMapProcessor proc = new PackageMapProcessor(packageMap); 59 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
53 expect(proc.embeddedLibraries.size(), 5); 60 expect(proc.embeddedLibraries.size(), 5);
61 expect(proc.embeddedLibraries.getLibrary('dart:core').path,
62 '/tmp_embedder/core.dart');
54 expect(proc.extendedLibraries.size(), 1); 63 expect(proc.extendedLibraries.size(), 1);
64 expect(proc.extendedLibraries.getLibrary('dart:ui').path,
65 '/tmp_sdk_ext/ui.dart');
66 }
67
68 void test_empty_package_map() {
69 PackageMapProcessor proc =
70 new PackageMapProcessor(<String, List<Folder>>{});
71 expect(proc.embeddedLibraries.size(), 0);
72 expect(proc.extendedLibraries.size(), 0);
73 expect(proc.libraryMap.size(), 0);
55 } 74 }
56 75
57 void test_extenders_do_not_override() { 76 void test_extenders_do_not_override() {
58 resourceProvider.newFile( 77 resourceProvider.newFile(
59 '/tmp_sdk_ext/_sdkext', 78 '/tmp_sdk_ext/_sdkext',
60 r''' 79 r'''
61 { 80 {
62 "dart:ui": "ui2.dart" 81 "dart:ui": "ui2.dart"
63 }'''); 82 }''');
64 resourceProvider.newFile( 83 resourceProvider.newFile(
65 '/tmp_embedder/_embedder.yaml', 84 '/tmp_embedder/_embedder.yaml',
66 r''' 85 r'''
67 embedded_libs: 86 embedded_libs:
68 "dart:core" : "core.dart" 87 "dart:core" : "core.dart"
69 "dart:ui": "ui.dart" 88 "dart:ui": "ui.dart"
70 '''); 89 ''');
71 90
72 PackageMapProcessor proc = new PackageMapProcessor(packageMap); 91 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
73 expect(proc.embeddedLibraries.size(), 2); 92 expect(proc.embeddedLibraries.size(), 2);
74 expect(proc.extendedLibraries.size(), 1); 93 expect(proc.extendedLibraries.size(), 1);
75 expect(proc.libraryMap.size(), 2); 94 expect(proc.libraryMap.size(), 2);
76 expect(proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart'); 95 expect(proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart');
77 } 96 }
97
98 void test_invalid_embedder() {
99 resourceProvider.newFile(
100 '/tmp_embedder/_embedder.yaml',
101 r'''
102 invalid contents, will not parse
103 ''');
104
105 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
106 expect(proc.embeddedLibraries.size(), 0);
107 expect(proc.extendedLibraries.size(), 0);
108 expect(proc.libraryMap.size(), 0);
109 }
110
111 void test_invalid_extender() {
112 resourceProvider.newFile(
113 '/tmp_sdk_ext/_sdkext',
114 r'''
115 invalid contents, will not parse
116 ''');
117
118 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
119 expect(proc.embeddedLibraries.size(), 0);
120 expect(proc.extendedLibraries.size(), 0);
121 expect(proc.libraryMap.size(), 0);
122 }
123
124 void test_no_embedder() {
125 resourceProvider.newFile(
126 '/tmp_sdk_ext/_sdkext',
127 r'''
128 {
129 "dart:ui": "ui2.dart"
130 }''');
131
132 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
133 expect(proc.embeddedLibraries.size(), 0);
134 expect(proc.extendedLibraries.size(), 1);
135 expect(proc.libraryMap.size(), 1);
136 }
137
138 void test_no_embedder_or_extender() {
139 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
140 expect(proc.embeddedLibraries.size(), 0);
141 expect(proc.extendedLibraries.size(), 0);
142 expect(proc.libraryMap.size(), 0);
143 }
144
145 void test_no_extender() {
146 resourceProvider.newFile(
147 '/tmp_embedder/_embedder.yaml',
148 r'''
149 embedded_libs:
150 "dart:core" : "core.dart"
151 "dart:ui": "ui.dart"
152 ''');
153
154 PackageMapProcessor proc = new PackageMapProcessor(packageMap);
155 expect(proc.embeddedLibraries.size(), 2);
156 expect(proc.extendedLibraries.size(), 0);
157 expect(proc.libraryMap.size(), 2);
158 }
78 } 159 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/test/src/context/test_all.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698