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

Side by Side Diff: pkg/analyzer/test/source/embedder_test.dart

Issue 2009303002: Embedder support refactoring (phase 1). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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 | « pkg/analyzer/lib/src/generated/sdk.dart ('k') | pkg/analyzer_cli/lib/src/driver.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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.source.embedder_test; 5 library analyzer.test.source.embedder_test;
6 6
7 import 'dart:core' hide Resource; 7 import 'dart:core' hide Resource;
8 8
9 import 'package:analyzer/file_system/file_system.dart'; 9 import 'package:analyzer/file_system/file_system.dart';
10 import 'package:analyzer/file_system/memory_file_system.dart'; 10 import 'package:analyzer/file_system/memory_file_system.dart';
(...skipping 10 matching lines...) Expand all
21 setUp(() { 21 setUp(() {
22 initializeTestEnvironment(path.context); 22 initializeTestEnvironment(path.context);
23 buildResourceProvider(); 23 buildResourceProvider();
24 }); 24 });
25 tearDown(() { 25 tearDown(() {
26 initializeTestEnvironment(); 26 initializeTestEnvironment();
27 clearResourceProvider(); 27 clearResourceProvider();
28 }); 28 });
29 test('test_NullEmbedderYamls', () { 29 test('test_NullEmbedderYamls', () {
30 var resolver = new EmbedderUriResolver(null); 30 var resolver = new EmbedderUriResolver(null);
31 expect(resolver.length, equals(0)); 31 expect(resolver.length, 0);
32 }); 32 });
33 test('test_NoEmbedderYamls', () { 33 test('test_NoEmbedderYamls', () {
34 var locator = new EmbedderYamlLocator({ 34 var locator = new EmbedderYamlLocator({
35 'fox': [pathTranslator.getResource('/empty')] 35 'fox': [pathTranslator.getResource('/empty')]
36 }); 36 });
37 expect(locator.embedderYamls.length, equals(0)); 37 expect(locator.embedderYamls.length, 0);
38 }); 38 });
39 test('test_EmbedderYaml', () { 39 test('test_EmbedderYaml', () {
40 var locator = new EmbedderYamlLocator({ 40 var locator = new EmbedderYamlLocator({
41 'fox': [pathTranslator.getResource('/tmp')] 41 'fox': [pathTranslator.getResource('/tmp')]
42 }); 42 });
43 var resolver = new EmbedderUriResolver(locator.embedderYamls); 43 var resolver =
44 new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
44 45
45 expectResolved(dartUri, posixPath) { 46 expectResolved(dartUri, posixPath) {
46 Source source = resolver.resolveAbsolute(Uri.parse(dartUri)); 47 Source source = resolver.resolveAbsolute(Uri.parse(dartUri));
47 expect(source, isNotNull, reason: dartUri); 48 expect(source, isNotNull, reason: dartUri);
48 expect(source.fullName, posixToOSPath(posixPath)); 49 expect(source.fullName, posixToOSPath(posixPath));
49 } 50 }
50 51
51 // We have four mappings. 52 // We have five mappings.
52 expect(resolver.length, equals(4)); 53 expect(resolver.length, 5);
Brian Wilkerson 2016/05/25 17:45:56 Seems strange, if there are five mappings, that we
pquitslund 2016/05/25 17:52:00 Indeed! Forgot to update that bit. Fixed.
53 // Check that they map to the correct paths. 54 // Check that they map to the correct paths.
54 expectResolved('dart:fox', '/tmp/slippy.dart'); 55 expectResolved('dart:fox', '/tmp/slippy.dart');
55 expectResolved('dart:bear', '/tmp/grizzly.dart'); 56 expectResolved('dart:bear', '/tmp/grizzly.dart');
56 expectResolved('dart:relative', '/relative.dart'); 57 expectResolved('dart:relative', '/relative.dart');
57 expectResolved('dart:deep', '/tmp/deep/directory/file.dart'); 58 expectResolved('dart:deep', '/tmp/deep/directory/file.dart');
58 }); 59 });
59 test('test_BadYAML', () { 60 test('test_BadYAML', () {
60 var locator = new EmbedderYamlLocator(null); 61 var locator = new EmbedderYamlLocator(null);
61 locator.addEmbedderYaml(null, r'''{{{,{{}}},}}'''); 62 locator.addEmbedderYaml(null, r'''{{{,{{}}},}}''');
62 expect(locator.embedderYamls.length, equals(0)); 63 expect(locator.embedderYamls.length, 0);
63 }); 64 });
64 test('test_restoreAbsolute', () { 65 test('test_restoreAbsolute', () {
65 var locator = new EmbedderYamlLocator({ 66 var locator = new EmbedderYamlLocator({
66 'fox': [pathTranslator.getResource('/tmp')] 67 'fox': [pathTranslator.getResource('/tmp')]
67 }); 68 });
68 var resolver = new EmbedderUriResolver(locator.embedderYamls); 69 var resolver =
70 new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
69 71
70 expectRestore(String dartUri, [String expected]) { 72 expectRestore(String dartUri, [String expected]) {
71 var parsedUri = Uri.parse(dartUri); 73 var parsedUri = Uri.parse(dartUri);
72 var source = resolver.resolveAbsolute(parsedUri); 74 var source = resolver.resolveAbsolute(parsedUri);
73 expect(source, isNotNull); 75 expect(source, isNotNull);
74 // Restore source's uri. 76 // Restore source's uri.
75 var restoreUri = resolver.restoreAbsolute(source); 77 var restoreUri = resolver.restoreAbsolute(source);
76 expect(restoreUri, isNotNull, reason: dartUri); 78 expect(restoreUri, isNotNull, reason: dartUri);
77 // Verify that it is 'dart:fox'. 79 // Verify that it is 'dart:fox'.
78 expect(restoreUri.toString(), equals(expected ?? dartUri)); 80 expect(restoreUri.toString(), expected ?? dartUri);
79 List<String> split = (expected ?? dartUri).split(':'); 81 List<String> split = (expected ?? dartUri).split(':');
80 expect(restoreUri.scheme, equals(split[0])); 82 expect(restoreUri.scheme, split[0]);
81 expect(restoreUri.path, equals(split[1])); 83 expect(restoreUri.path, split[1]);
82 } 84 }
83 85
84 expectRestore('dart:deep'); 86 expectRestore('dart:deep');
85 expectRestore('dart:deep/file.dart', 'dart:deep'); 87 expectRestore('dart:deep/file.dart', 'dart:deep');
86 expectRestore('dart:deep/part.dart'); 88 expectRestore('dart:deep/part.dart');
87 expectRestore('dart:deep/deep/file.dart'); 89 expectRestore('dart:deep/deep/file.dart');
88 }); 90 });
89 91
90 test('test_EmbedderSdk_fromFileUri', () { 92 test('test_EmbedderSdk_fromFileUri', () {
91 var locator = new EmbedderYamlLocator({ 93 var locator = new EmbedderYamlLocator({
92 'fox': [pathTranslator.getResource('/tmp')] 94 'fox': [pathTranslator.getResource('/tmp')]
93 }); 95 });
94 var resolver = new EmbedderUriResolver(locator.embedderYamls); 96 var resolver =
97 new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
95 var sdk = resolver.dartSdk; 98 var sdk = resolver.dartSdk;
96 99
97 expectSource(String posixPath, String dartUri) { 100 expectSource(String posixPath, String dartUri) {
98 var uri = Uri.parse(posixToOSFileUri(posixPath)); 101 var uri = Uri.parse(posixToOSFileUri(posixPath));
99 var source = sdk.fromFileUri(uri); 102 var source = sdk.fromFileUri(uri);
100 expect(source, isNotNull, reason: posixPath); 103 expect(source, isNotNull, reason: posixPath);
101 expect(source.uri.toString(), dartUri); 104 expect(source.uri.toString(), dartUri);
102 expect(source.fullName, posixToOSPath(posixPath)); 105 expect(source.fullName, posixToOSPath(posixPath));
103 } 106 }
104 107
105 expectSource('/tmp/slippy.dart', 'dart:fox'); 108 expectSource('/tmp/slippy.dart', 'dart:fox');
106 expectSource('/tmp/deep/directory/file.dart', 'dart:deep'); 109 expectSource('/tmp/deep/directory/file.dart', 'dart:deep');
107 expectSource('/tmp/deep/directory/part.dart', 'dart:deep/part.dart'); 110 expectSource('/tmp/deep/directory/part.dart', 'dart:deep/part.dart');
108 }); 111 });
109 test('test_EmbedderSdk_getSdkLibrary', () { 112 test('test_EmbedderSdk_getSdkLibrary', () {
110 var locator = new EmbedderYamlLocator({ 113 var locator = new EmbedderYamlLocator({
111 'fox': [pathTranslator.getResource('/tmp')] 114 'fox': [pathTranslator.getResource('/tmp')]
112 }); 115 });
113 var resolver = new EmbedderUriResolver(locator.embedderYamls); 116 var resolver =
117 new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
114 var sdk = resolver.dartSdk; 118 var sdk = resolver.dartSdk;
115 var lib = sdk.getSdkLibrary('dart:fox'); 119 var lib = sdk.getSdkLibrary('dart:fox');
116 expect(lib, isNotNull); 120 expect(lib, isNotNull);
117 expect(lib.path, posixToOSPath('/tmp/slippy.dart')); 121 expect(lib.path, posixToOSPath('/tmp/slippy.dart'));
118 expect(lib.shortName, 'fox'); 122 expect(lib.shortName, 'dart:fox');
119 }); 123 });
120 test('test_EmbedderSdk_mapDartUri', () { 124 test('test_EmbedderSdk_mapDartUri', () {
121 var locator = new EmbedderYamlLocator({ 125 var locator = new EmbedderYamlLocator({
122 'fox': [pathTranslator.getResource('/tmp')] 126 'fox': [pathTranslator.getResource('/tmp')]
123 }); 127 });
124 var resolver = new EmbedderUriResolver(locator.embedderYamls); 128 var resolver =
129 new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
125 var sdk = resolver.dartSdk; 130 var sdk = resolver.dartSdk;
126 131
127 expectSource(String dartUri, String posixPath) { 132 expectSource(String dartUri, String posixPath) {
128 var source = sdk.mapDartUri(dartUri); 133 var source = sdk.mapDartUri(dartUri);
129 expect(source, isNotNull, reason: posixPath); 134 expect(source, isNotNull, reason: posixPath);
130 expect(source.uri.toString(), dartUri); 135 expect(source.uri.toString(), dartUri);
131 expect(source.fullName, posixToOSPath(posixPath)); 136 expect(source.fullName, posixToOSPath(posixPath));
132 } 137 }
133 138
139 expectSource('dart:core', '/tmp/core.dart');
134 expectSource('dart:fox', '/tmp/slippy.dart'); 140 expectSource('dart:fox', '/tmp/slippy.dart');
135 expectSource('dart:deep', '/tmp/deep/directory/file.dart'); 141 expectSource('dart:deep', '/tmp/deep/directory/file.dart');
136 expectSource('dart:deep/part.dart', '/tmp/deep/directory/part.dart'); 142 expectSource('dart:deep/part.dart', '/tmp/deep/directory/part.dart');
137 }); 143 });
138 }); 144 });
139 } 145 }
140 146
141 TestPathTranslator pathTranslator; 147 TestPathTranslator pathTranslator;
142 ResourceProvider resourceProvider; 148 ResourceProvider resourceProvider;
143 149
144 buildResourceProvider() { 150 buildResourceProvider() {
145 var rawProvider = new MemoryResourceProvider(isWindows: isWindows); 151 var rawProvider = new MemoryResourceProvider(isWindows: isWindows);
146 resourceProvider = new TestResourceProvider(rawProvider); 152 resourceProvider = new TestResourceProvider(rawProvider);
147 pathTranslator = new TestPathTranslator(rawProvider) 153 pathTranslator = new TestPathTranslator(rawProvider)
148 ..newFolder('/empty') 154 ..newFolder('/empty')
149 ..newFolder('/tmp') 155 ..newFolder('/tmp')
150 ..newFile( 156 ..newFile(
151 '/tmp/_embedder.yaml', 157 '/tmp/_embedder.yaml',
152 r''' 158 r'''
153 embedded_libs: 159 embedded_libs:
160 "dart:core" : "core.dart"
154 "dart:fox": "slippy.dart" 161 "dart:fox": "slippy.dart"
155 "dart:bear": "grizzly.dart" 162 "dart:bear": "grizzly.dart"
156 "dart:relative": "../relative.dart" 163 "dart:relative": "../relative.dart"
157 "dart:deep": "deep/directory/file.dart" 164 "dart:deep": "deep/directory/file.dart"
158 "fart:loudly": "nomatter.dart" 165 "fart:loudly": "nomatter.dart"
159 '''); 166 ''');
160 } 167 }
161 168
162 clearResourceProvider() { 169 clearResourceProvider() {
163 resourceProvider = null; 170 resourceProvider = null;
164 pathTranslator = null; 171 pathTranslator = null;
165 } 172 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/sdk.dart ('k') | pkg/analyzer_cli/lib/src/driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698