| OLD | NEW |
| 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 Loading... |
| 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 } |
| OLD | NEW |