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

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

Issue 2277003003: Attempt to load sdk.ds from the only embedder. (Closed)
Patch Set: Created 4 years, 4 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/test/resource_utils.dart ('k') | pkg/analyzer/test/src/context/builder_test.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 @deprecated 5 @deprecated
6 library analyzer.test.source.embedder_test; 6 library analyzer.test.source.embedder_test;
7 7
8 import 'dart:core' hide Resource; 8 import 'dart:core' hide Resource;
9 9
10 import 'package:analyzer/source/embedder.dart'; 10 import 'package:analyzer/source/embedder.dart';
11 import 'package:analyzer/src/generated/sdk.dart'; 11 import 'package:analyzer/src/generated/sdk.dart';
12 import 'package:analyzer/src/generated/source.dart'; 12 import 'package:analyzer/src/generated/source.dart';
13 import 'package:unittest/unittest.dart'; 13 import 'package:unittest/unittest.dart';
14 14
15 import '../embedder_tests.dart'; 15 import '../embedder_tests.dart';
16 import '../reflective_tests.dart'; 16 import '../reflective_tests.dart';
17 import '../resource_utils.dart'; 17 import '../resource_utils.dart';
18 18
19 main() { 19 main() {
20 runReflectiveTests(DartUriResolverTest); 20 runReflectiveTests(DartUriResolverTest);
21 runReflectiveTests(EmbedderSdkTest); 21 runReflectiveTests(EmbedderSdkTest);
22 runReflectiveTests(EmbedderUriResolverTest); 22 runReflectiveTests(EmbedderUriResolverTest);
23 } 23 }
24 24
25 @reflectiveTest 25 @reflectiveTest
26 class DartUriResolverTest extends EmbedderRelatedTest { 26 class DartUriResolverTest extends EmbedderRelatedTest {
27 void test_embedderYaml() { 27 void test_embedderYaml() {
28 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 28 EmbedderYamlLocator locator = new EmbedderYamlLocator({
29 'fox': [pathTranslator.getResource('/tmp')] 29 'fox': [pathTranslator.getResource(foxLib)]
30 }); 30 });
31 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls); 31 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls);
32 DartUriResolver resolver = new DartUriResolver(sdk); 32 DartUriResolver resolver = new DartUriResolver(sdk);
33 33
34 void expectResolved(dartUri, posixPath) { 34 void expectResolved(dartUri, posixPath) {
35 Source source = resolver.resolveAbsolute(Uri.parse(dartUri)); 35 Source source = resolver.resolveAbsolute(Uri.parse(dartUri));
36 expect(source, isNotNull, reason: dartUri); 36 expect(source, isNotNull, reason: dartUri);
37 expect(source.fullName, posixToOSPath(posixPath)); 37 expect(source.fullName, posixToOSPath(posixPath));
38 } 38 }
39 39
40 // Check that they map to the correct paths. 40 // Check that they map to the correct paths.
41 expectResolved('dart:core', '/tmp/core.dart'); 41 expectResolved('dart:core', '$foxLib/core.dart');
42 expectResolved('dart:fox', '/tmp/slippy.dart'); 42 expectResolved('dart:fox', '$foxLib/slippy.dart');
43 expectResolved('dart:bear', '/tmp/grizzly.dart'); 43 expectResolved('dart:bear', '$foxLib/grizzly.dart');
44 expectResolved('dart:relative', '/relative.dart'); 44 expectResolved('dart:relative', '$foxPath/relative.dart');
45 expectResolved('dart:deep', '/tmp/deep/directory/file.dart'); 45 expectResolved('dart:deep', '$foxLib/deep/directory/file.dart');
46 } 46 }
47 } 47 }
48 48
49 @reflectiveTest 49 @reflectiveTest
50 class EmbedderSdkTest extends EmbedderRelatedTest { 50 class EmbedderSdkTest extends EmbedderRelatedTest {
51 void test_creation() { 51 void test_creation() {
52 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 52 EmbedderYamlLocator locator = new EmbedderYamlLocator({
53 'fox': [pathTranslator.getResource('/tmp')] 53 'fox': [pathTranslator.getResource(foxLib)]
54 }); 54 });
55 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls); 55 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls);
56 56
57 expect(sdk.urlMappings, hasLength(5)); 57 expect(sdk.urlMappings, hasLength(5));
58 } 58 }
59 59
60 void test_fromFileUri() { 60 void test_fromFileUri() {
61 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 61 EmbedderYamlLocator locator = new EmbedderYamlLocator({
62 'fox': [pathTranslator.getResource('/tmp')] 62 'fox': [pathTranslator.getResource(foxLib)]
63 }); 63 });
64 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls); 64 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls);
65 65
66 expectSource(String posixPath, String dartUri) { 66 expectSource(String posixPath, String dartUri) {
67 Uri uri = Uri.parse(posixToOSFileUri(posixPath)); 67 Uri uri = Uri.parse(posixToOSFileUri(posixPath));
68 Source source = sdk.fromFileUri(uri); 68 Source source = sdk.fromFileUri(uri);
69 expect(source, isNotNull, reason: posixPath); 69 expect(source, isNotNull, reason: posixPath);
70 expect(source.uri.toString(), dartUri); 70 expect(source.uri.toString(), dartUri);
71 expect(source.fullName, posixToOSPath(posixPath)); 71 expect(source.fullName, posixToOSPath(posixPath));
72 } 72 }
73 73
74 expectSource('/tmp/slippy.dart', 'dart:fox'); 74 expectSource('$foxLib/slippy.dart', 'dart:fox');
75 expectSource('/tmp/deep/directory/file.dart', 'dart:deep'); 75 expectSource('$foxLib/deep/directory/file.dart', 'dart:deep');
76 expectSource('/tmp/deep/directory/part.dart', 'dart:deep/part.dart'); 76 expectSource('$foxLib/deep/directory/part.dart', 'dart:deep/part.dart');
77 } 77 }
78 78
79 void test_getSdkLibrary() { 79 void test_getSdkLibrary() {
80 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 80 EmbedderYamlLocator locator = new EmbedderYamlLocator({
81 'fox': [pathTranslator.getResource('/tmp')] 81 'fox': [pathTranslator.getResource(foxLib)]
82 }); 82 });
83 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls); 83 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls);
84 84
85 SdkLibrary lib = sdk.getSdkLibrary('dart:fox'); 85 SdkLibrary lib = sdk.getSdkLibrary('dart:fox');
86 expect(lib, isNotNull); 86 expect(lib, isNotNull);
87 expect(lib.path, posixToOSPath('/tmp/slippy.dart')); 87 expect(lib.path, posixToOSPath('$foxLib/slippy.dart'));
88 expect(lib.shortName, 'dart:fox'); 88 expect(lib.shortName, 'dart:fox');
89 } 89 }
90 90
91 void test_mapDartUri() { 91 void test_mapDartUri() {
92 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 92 EmbedderYamlLocator locator = new EmbedderYamlLocator({
93 'fox': [pathTranslator.getResource('/tmp')] 93 'fox': [pathTranslator.getResource(foxLib)]
94 }); 94 });
95 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls); 95 EmbedderSdk sdk = new EmbedderSdk(locator.embedderYamls);
96 96
97 void expectSource(String dartUri, String posixPath) { 97 void expectSource(String dartUri, String posixPath) {
98 Source source = sdk.mapDartUri(dartUri); 98 Source source = sdk.mapDartUri(dartUri);
99 expect(source, isNotNull, reason: posixPath); 99 expect(source, isNotNull, reason: posixPath);
100 expect(source.uri.toString(), dartUri); 100 expect(source.uri.toString(), dartUri);
101 expect(source.fullName, posixToOSPath(posixPath)); 101 expect(source.fullName, posixToOSPath(posixPath));
102 } 102 }
103 103
104 expectSource('dart:core', '/tmp/core.dart'); 104 expectSource('dart:core', '$foxLib/core.dart');
105 expectSource('dart:fox', '/tmp/slippy.dart'); 105 expectSource('dart:fox', '$foxLib/slippy.dart');
106 expectSource('dart:deep', '/tmp/deep/directory/file.dart'); 106 expectSource('dart:deep', '$foxLib/deep/directory/file.dart');
107 expectSource('dart:deep/part.dart', '/tmp/deep/directory/part.dart'); 107 expectSource('dart:deep/part.dart', '$foxLib/deep/directory/part.dart');
108 } 108 }
109 } 109 }
110 110
111 @reflectiveTest 111 @reflectiveTest
112 class EmbedderUriResolverTest extends EmbedderRelatedTest { 112 class EmbedderUriResolverTest extends EmbedderRelatedTest {
113 void test_embedderYaml() { 113 void test_embedderYaml() {
114 var locator = new EmbedderYamlLocator({ 114 var locator = new EmbedderYamlLocator({
115 'fox': [pathTranslator.getResource('/tmp')] 115 'fox': [pathTranslator.getResource(foxLib)]
116 }); 116 });
117 var resolver = new EmbedderUriResolver(locator.embedderYamls); 117 var resolver = new EmbedderUriResolver(locator.embedderYamls);
118 118
119 expectResolved(dartUri, posixPath) { 119 expectResolved(dartUri, posixPath) {
120 Source source = resolver.resolveAbsolute(Uri.parse(dartUri)); 120 Source source = resolver.resolveAbsolute(Uri.parse(dartUri));
121 expect(source, isNotNull, reason: dartUri); 121 expect(source, isNotNull, reason: dartUri);
122 expect(source.fullName, posixToOSPath(posixPath)); 122 expect(source.fullName, posixToOSPath(posixPath));
123 } 123 }
124 124
125 // We have five mappings. 125 // We have five mappings.
126 expect(resolver, hasLength(5)); 126 expect(resolver, hasLength(5));
127 // Check that they map to the correct paths. 127 // Check that they map to the correct paths.
128 expectResolved('dart:core', '/tmp/core.dart'); 128 expectResolved('dart:core', '$foxLib/core.dart');
129 expectResolved('dart:fox', '/tmp/slippy.dart'); 129 expectResolved('dart:fox', '$foxLib/slippy.dart');
130 expectResolved('dart:bear', '/tmp/grizzly.dart'); 130 expectResolved('dart:bear', '$foxLib/grizzly.dart');
131 expectResolved('dart:relative', '/relative.dart'); 131 expectResolved('dart:relative', '$foxPath/relative.dart');
132 expectResolved('dart:deep', '/tmp/deep/directory/file.dart'); 132 expectResolved('dart:deep', '$foxLib/deep/directory/file.dart');
133 } 133 }
134 134
135 void test_nullEmbedderYamls() { 135 void test_nullEmbedderYamls() {
136 var resolver = new EmbedderUriResolver(null); 136 var resolver = new EmbedderUriResolver(null);
137 expect(resolver, hasLength(0)); 137 expect(resolver, hasLength(0));
138 } 138 }
139 139
140 void test_restoreAbsolute() { 140 void test_restoreAbsolute() {
141 var locator = new EmbedderYamlLocator({ 141 var locator = new EmbedderYamlLocator({
142 'fox': [pathTranslator.getResource('/tmp')] 142 'fox': [pathTranslator.getResource(foxLib)]
143 }); 143 });
144 var resolver = new EmbedderUriResolver(locator.embedderYamls); 144 var resolver = new EmbedderUriResolver(locator.embedderYamls);
145 145
146 expectRestore(String dartUri, [String expected]) { 146 expectRestore(String dartUri, [String expected]) {
147 var parsedUri = Uri.parse(dartUri); 147 var parsedUri = Uri.parse(dartUri);
148 var source = resolver.resolveAbsolute(parsedUri); 148 var source = resolver.resolveAbsolute(parsedUri);
149 expect(source, isNotNull); 149 expect(source, isNotNull);
150 // Restore source's uri. 150 // Restore source's uri.
151 var restoreUri = resolver.restoreAbsolute(source); 151 var restoreUri = resolver.restoreAbsolute(source);
152 expect(restoreUri, isNotNull, reason: dartUri); 152 expect(restoreUri, isNotNull, reason: dartUri);
153 // Verify that it is 'dart:fox'. 153 // Verify that it is 'dart:fox'.
154 expect(restoreUri.toString(), expected ?? dartUri); 154 expect(restoreUri.toString(), expected ?? dartUri);
155 List<String> split = (expected ?? dartUri).split(':'); 155 List<String> split = (expected ?? dartUri).split(':');
156 expect(restoreUri.scheme, split[0]); 156 expect(restoreUri.scheme, split[0]);
157 expect(restoreUri.path, split[1]); 157 expect(restoreUri.path, split[1]);
158 } 158 }
159 159
160 expectRestore('dart:deep'); 160 expectRestore('dart:deep');
161 expectRestore('dart:deep/file.dart', 'dart:deep'); 161 expectRestore('dart:deep/file.dart', 'dart:deep');
162 expectRestore('dart:deep/part.dart'); 162 expectRestore('dart:deep/part.dart');
163 expectRestore('dart:deep/deep/file.dart'); 163 expectRestore('dart:deep/deep/file.dart');
164 } 164 }
165 } 165 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/resource_utils.dart ('k') | pkg/analyzer/test/src/context/builder_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698