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

Side by Side Diff: pkg/analyzer/test/src/dart/sdk/sdk_test.dart

Issue 2277003003: Attempt to load sdk.ds from the only embedder. (Closed)
Patch Set: Created 4 years, 3 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/src/context/builder_test.dart ('k') | no next file » | 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.generated.sdk_test; 5 library analyzer.test.generated.sdk_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/builder.dart' show EmbedderYamlLocator; 9 import 'package:analyzer/src/context/builder.dart' show EmbedderYamlLocator;
10 import 'package:analyzer/src/dart/sdk/sdk.dart'; 10 import 'package:analyzer/src/dart/sdk/sdk.dart';
11 import 'package:analyzer/src/generated/engine.dart'; 11 import 'package:analyzer/src/generated/engine.dart';
12 import 'package:analyzer/src/generated/java_engine_io.dart'; 12 import 'package:analyzer/src/generated/java_engine_io.dart';
13 import 'package:analyzer/src/generated/sdk.dart'; 13 import 'package:analyzer/src/generated/sdk.dart';
14 import 'package:analyzer/src/generated/source.dart'; 14 import 'package:analyzer/src/generated/source.dart';
15 import 'package:analyzer/src/summary/summarize_elements.dart';
15 import 'package:unittest/unittest.dart'; 16 import 'package:unittest/unittest.dart';
16 17
17 import '../../../embedder_tests.dart'; 18 import '../../../embedder_tests.dart';
18 import '../../../generated/test_support.dart'; 19 import '../../../generated/test_support.dart';
19 import '../../../reflective_tests.dart'; 20 import '../../../reflective_tests.dart';
20 import '../../../resource_utils.dart'; 21 import '../../../resource_utils.dart';
21 import '../../../utils.dart'; 22 import '../../../utils.dart';
22 23
23 main() { 24 main() {
24 initializeTestEnvironment(); 25 initializeTestEnvironment();
25 runReflectiveTests(EmbedderSdkTest); 26 runReflectiveTests(EmbedderSdkTest);
26 runReflectiveTests(FolderBasedDartSdkTest); 27 runReflectiveTests(FolderBasedDartSdkTest);
27 runReflectiveTests(SdkExtensionFinderTest); 28 runReflectiveTests(SdkExtensionFinderTest);
28 runReflectiveTests(SDKLibrariesReaderTest); 29 runReflectiveTests(SDKLibrariesReaderTest);
29 } 30 }
30 31
31 @reflectiveTest 32 @reflectiveTest
32 class EmbedderSdkTest extends EmbedderRelatedTest { 33 class EmbedderSdkTest extends EmbedderRelatedTest {
33 void test_creation() { 34 void test_creation() {
34 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 35 EmbedderYamlLocator locator = new EmbedderYamlLocator({
35 'fox': [pathTranslator.getResource('/tmp')] 36 'fox': [pathTranslator.getResource(foxLib)]
36 }); 37 });
37 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); 38 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls);
38 39
39 expect(sdk.urlMappings, hasLength(5)); 40 expect(sdk.urlMappings, hasLength(5));
40 } 41 }
41 42
42 void test_fromFileUri() { 43 void test_fromFileUri() {
43 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 44 EmbedderYamlLocator locator = new EmbedderYamlLocator({
44 'fox': [pathTranslator.getResource('/tmp')] 45 'fox': [pathTranslator.getResource(foxLib)]
45 }); 46 });
46 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); 47 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls);
47 48
48 expectSource(String posixPath, String dartUri) { 49 expectSource(String posixPath, String dartUri) {
49 Uri uri = Uri.parse(posixToOSFileUri(posixPath)); 50 Uri uri = Uri.parse(posixToOSFileUri(posixPath));
50 Source source = sdk.fromFileUri(uri); 51 Source source = sdk.fromFileUri(uri);
51 expect(source, isNotNull, reason: posixPath); 52 expect(source, isNotNull, reason: posixPath);
52 expect(source.uri.toString(), dartUri); 53 expect(source.uri.toString(), dartUri);
53 expect(source.fullName, posixToOSPath(posixPath)); 54 expect(source.fullName, posixToOSPath(posixPath));
54 } 55 }
55 56
56 expectSource('/tmp/slippy.dart', 'dart:fox'); 57 expectSource('$foxLib/slippy.dart', 'dart:fox');
57 expectSource('/tmp/deep/directory/file.dart', 'dart:deep'); 58 expectSource('$foxLib/deep/directory/file.dart', 'dart:deep');
58 expectSource('/tmp/deep/directory/part.dart', 'dart:deep/part.dart'); 59 expectSource('$foxLib/deep/directory/part.dart', 'dart:deep/part.dart');
60 }
61
62 void test_getLinkedBundle_hasBundle() {
63 pathTranslator.newFileWithBytes(
64 '$foxPath/sdk.ds', new PackageBundleAssembler().assemble().toBuffer());
65 EmbedderYamlLocator locator = new EmbedderYamlLocator({
66 'fox': [pathTranslator.getResource(foxLib)]
67 });
68 // No bundle for spec mode.
69 {
70 EmbedderSdk sdk =
71 new EmbedderSdk(resourceProvider, locator.embedderYamls);
72 sdk.analysisOptions = new AnalysisOptionsImpl()..strongMode = false;
73 expect(sdk.getLinkedBundle(), isNull);
74 }
75 // Has bundle for strong mode.
76 {
77 EmbedderSdk sdk =
78 new EmbedderSdk(resourceProvider, locator.embedderYamls);
79 sdk.analysisOptions = new AnalysisOptionsImpl()..strongMode = true;
80 expect(sdk.getLinkedBundle(), isNotNull);
81 }
82 }
83
84 void test_getLinkedBundle_noBundle() {
85 EmbedderYamlLocator locator = new EmbedderYamlLocator({
86 'fox': [pathTranslator.getResource(foxLib)]
87 });
88 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls);
89 expect(sdk.getLinkedBundle(), isNull);
59 } 90 }
60 91
61 void test_getSdkLibrary() { 92 void test_getSdkLibrary() {
62 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 93 EmbedderYamlLocator locator = new EmbedderYamlLocator({
63 'fox': [pathTranslator.getResource('/tmp')] 94 'fox': [pathTranslator.getResource(foxLib)]
64 }); 95 });
65 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); 96 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls);
66 97
67 SdkLibrary lib = sdk.getSdkLibrary('dart:fox'); 98 SdkLibrary lib = sdk.getSdkLibrary('dart:fox');
68 expect(lib, isNotNull); 99 expect(lib, isNotNull);
69 expect(lib.path, posixToOSPath('/tmp/slippy.dart')); 100 expect(lib.path, posixToOSPath('$foxLib/slippy.dart'));
70 expect(lib.shortName, 'dart:fox'); 101 expect(lib.shortName, 'dart:fox');
71 } 102 }
72 103
73 void test_mapDartUri() { 104 void test_mapDartUri() {
74 EmbedderYamlLocator locator = new EmbedderYamlLocator({ 105 EmbedderYamlLocator locator = new EmbedderYamlLocator({
75 'fox': [pathTranslator.getResource('/tmp')] 106 'fox': [pathTranslator.getResource(foxLib)]
76 }); 107 });
77 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); 108 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls);
78 109
79 void expectSource(String dartUri, String posixPath) { 110 void expectSource(String dartUri, String posixPath) {
80 Source source = sdk.mapDartUri(dartUri); 111 Source source = sdk.mapDartUri(dartUri);
81 expect(source, isNotNull, reason: posixPath); 112 expect(source, isNotNull, reason: posixPath);
82 expect(source.uri.toString(), dartUri); 113 expect(source.uri.toString(), dartUri);
83 expect(source.fullName, posixToOSPath(posixPath)); 114 expect(source.fullName, posixToOSPath(posixPath));
84 } 115 }
85 116
86 expectSource('dart:core', '/tmp/core.dart'); 117 expectSource('dart:core', '$foxLib/core.dart');
87 expectSource('dart:fox', '/tmp/slippy.dart'); 118 expectSource('dart:fox', '$foxLib/slippy.dart');
88 expectSource('dart:deep', '/tmp/deep/directory/file.dart'); 119 expectSource('dart:deep', '$foxLib/deep/directory/file.dart');
89 expectSource('dart:deep/part.dart', '/tmp/deep/directory/part.dart'); 120 expectSource('dart:deep/part.dart', '$foxLib/deep/directory/part.dart');
90 } 121 }
91 } 122 }
92 123
93 @reflectiveTest 124 @reflectiveTest
94 class FolderBasedDartSdkTest { 125 class FolderBasedDartSdkTest {
95 /** 126 /**
96 * The resource provider used by these tests. 127 * The resource provider used by these tests.
97 */ 128 */
98 MemoryResourceProvider resourceProvider; 129 MemoryResourceProvider resourceProvider;
99 130
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 expect(second, isNotNull); 448 expect(second, isNotNull);
418 expect(second.category, "Server"); 449 expect(second.category, "Server");
419 expect(second.path, "second/second.dart"); 450 expect(second.path, "second/second.dart");
420 expect(second.shortName, "dart:second"); 451 expect(second.shortName, "dart:second");
421 expect(second.isDart2JsLibrary, false); 452 expect(second.isDart2JsLibrary, false);
422 expect(second.isDocumented, false); 453 expect(second.isDocumented, false);
423 expect(second.isImplementation, true); 454 expect(second.isImplementation, true);
424 expect(second.isVmLibrary, false); 455 expect(second.isVmLibrary, false);
425 } 456 }
426 } 457 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/context/builder_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698