| OLD | NEW |
| 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 'package:analyzer/file_system/memory_file_system.dart'; | 7 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 8 import 'package:analyzer/source/embedder.dart'; | 8 import 'package:analyzer/source/embedder.dart'; |
| 9 import 'package:analyzer/src/generated/java_io.dart'; |
| 9 import 'package:unittest/unittest.dart'; | 10 import 'package:unittest/unittest.dart'; |
| 10 | 11 |
| 11 import '../utils.dart'; | 12 import '../utils.dart'; |
| 12 | 13 |
| 13 main() { | 14 main() { |
| 14 initializeTestEnvironment(); | 15 initializeTestEnvironment(); |
| 15 group('EmbedderUriResolverTest', () { | 16 group('EmbedderUriResolverTest', () { |
| 16 setUp(() { | 17 setUp(() { |
| 17 buildResourceProvider(); | 18 buildResourceProvider(); |
| 18 }); | 19 }); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 var source = resolver.resolveAbsolute(Uri.parse('dart:fox')); | 56 var source = resolver.resolveAbsolute(Uri.parse('dart:fox')); |
| 56 expect(source, isNotNull); | 57 expect(source, isNotNull); |
| 57 // Restore source's uri. | 58 // Restore source's uri. |
| 58 var restoreUri = resolver.restoreAbsolute(source); | 59 var restoreUri = resolver.restoreAbsolute(source); |
| 59 expect(restoreUri, isNotNull); | 60 expect(restoreUri, isNotNull); |
| 60 // Verify that it is 'dart:fox'. | 61 // Verify that it is 'dart:fox'. |
| 61 expect(restoreUri.toString(), equals('dart:fox')); | 62 expect(restoreUri.toString(), equals('dart:fox')); |
| 62 expect(restoreUri.scheme, equals('dart')); | 63 expect(restoreUri.scheme, equals('dart')); |
| 63 expect(restoreUri.path, equals('fox')); | 64 expect(restoreUri.path, equals('fox')); |
| 64 }); | 65 }); |
| 66 |
| 67 test('test_EmbedderSdk_fromFileUri', () { |
| 68 var locator = new EmbedderYamlLocator({ |
| 69 'fox': [resourceProvider.getResource('/tmp')] |
| 70 }); |
| 71 var resolver = new EmbedderUriResolver(locator.embedderYamls); |
| 72 var sdk = resolver.dartSdk; |
| 73 |
| 74 expectSource(String filePath, String dartUri) { |
| 75 var uri = Uri.parse(filePath); |
| 76 var source = sdk.fromFileUri(uri); |
| 77 expect(source, isNotNull, reason: filePath); |
| 78 expect(source.uri.toString(), dartUri); |
| 79 expect(source.fullName, filePath.replaceAll('/', JavaFile.separator)); |
| 80 } |
| 81 |
| 82 expectSource('/tmp/slippy.dart', 'dart:fox'); |
| 83 expectSource('\\tmp\\slippy.dart', 'dart:fox'); |
| 84 expectSource('/tmp/deep/directory/file.dart', 'dart:deep'); |
| 85 expectSource('/tmp/deep/directory/part.dart', 'dart:deep/part.dart'); |
| 86 }); |
| 87 test('test_EmbedderSdk_getSdkLibrary', () { |
| 88 var locator = new EmbedderYamlLocator({ |
| 89 'fox': [resourceProvider.getResource('/tmp')] |
| 90 }); |
| 91 var resolver = new EmbedderUriResolver(locator.embedderYamls); |
| 92 var sdk = resolver.dartSdk; |
| 93 var lib = sdk.getSdkLibrary('dart:fox'); |
| 94 expect(lib, isNotNull); |
| 95 expect(lib.path, '/tmp/slippy.dart'); |
| 96 expect(lib.shortName, 'fox'); |
| 97 }); |
| 98 test('test_EmbedderSdk_mapDartUri', () { |
| 99 var locator = new EmbedderYamlLocator({ |
| 100 'fox': [resourceProvider.getResource('/tmp')] |
| 101 }); |
| 102 var resolver = new EmbedderUriResolver(locator.embedderYamls); |
| 103 var sdk = resolver.dartSdk; |
| 104 |
| 105 expectSource(String dartUri, String filePath) { |
| 106 var source = sdk.mapDartUri(dartUri); |
| 107 expect(source, isNotNull, reason: filePath); |
| 108 expect(source.uri.toString(), dartUri); |
| 109 expect(source.fullName, filePath.replaceAll('/', JavaFile.separator)); |
| 110 } |
| 111 |
| 112 expectSource('dart:fox', '/tmp/slippy.dart'); |
| 113 expectSource('dart:deep', '/tmp/deep/directory/file.dart'); |
| 114 expectSource('dart:deep/part.dart', '/tmp/deep/directory/part.dart'); |
| 115 }); |
| 65 }); | 116 }); |
| 66 } | 117 } |
| 67 | 118 |
| 68 MemoryResourceProvider resourceProvider; | 119 MemoryResourceProvider resourceProvider; |
| 69 | 120 |
| 70 buildResourceProvider() { | 121 buildResourceProvider() { |
| 71 resourceProvider = new MemoryResourceProvider(); | 122 resourceProvider = new MemoryResourceProvider(); |
| 72 resourceProvider.newFolder('/empty'); | 123 resourceProvider.newFolder('/empty'); |
| 73 resourceProvider.newFolder('/tmp'); | 124 resourceProvider.newFolder('/tmp'); |
| 74 resourceProvider.newFile( | 125 resourceProvider.newFile( |
| 75 '/tmp/_embedder.yaml', | 126 '/tmp/_embedder.yaml', |
| 76 r''' | 127 r''' |
| 77 embedder_libs: | 128 embedder_libs: |
| 78 "dart:fox": "slippy.dart" | 129 "dart:fox": "slippy.dart" |
| 79 "dart:bear": "grizzly.dart" | 130 "dart:bear": "grizzly.dart" |
| 80 "dart:relative": "../relative.dart" | 131 "dart:relative": "../relative.dart" |
| 81 "dart:deep": "deep/directory/file.dart" | 132 "dart:deep": "deep/directory/file.dart" |
| 82 "fart:loudly": "nomatter.dart" | 133 "fart:loudly": "nomatter.dart" |
| 83 '''); | 134 '''); |
| 84 } | 135 } |
| 85 | 136 |
| 86 clearResourceProvider() { | 137 clearResourceProvider() { |
| 87 resourceProvider = null; | 138 resourceProvider = null; |
| 88 } | 139 } |
| OLD | NEW |