OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.src.context.context_factory_test; | 5 library analyzer.test.src.context.context_factory_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/context_factory.dart'; | 9 import 'package:analyzer/src/context/context_factory.dart'; |
10 import 'package:unittest/unittest.dart'; | 10 import 'package:unittest/unittest.dart'; |
11 | 11 |
12 import '../../reflective_tests.dart'; | 12 import '../../reflective_tests.dart'; |
13 import '../../utils.dart'; | 13 import '../../utils.dart'; |
14 | 14 |
15 main() { | 15 main() { |
16 initializeTestEnvironment(); | 16 initializeTestEnvironment(); |
17 runReflectiveTests(PackageMapProcessorTest); | 17 runReflectiveTests(PackageMapProcessorTest); |
18 } | 18 } |
19 | 19 |
20 @reflectiveTest | 20 @reflectiveTest |
21 class PackageMapProcessorTest { | 21 class PackageMapProcessorTest { |
22 static MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); | 22 MemoryResourceProvider resourceProvider; |
23 | 23 |
24 static Folder empty = resourceProvider.newFolder('/empty'); | 24 Folder empty; |
25 static Folder tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext'); | 25 Folder tmp_sdk_ext; |
26 static Folder tmp_embedder = resourceProvider.newFolder('/tmp_embedder'); | 26 Folder tmp_embedder; |
| 27 Map<String, List<Folder>> packageMap; |
27 | 28 |
28 static Map<String, List<Folder>> packageMap = <String, List<Folder>>{ | 29 void setUp() { |
29 'empty': [empty], | 30 resourceProvider = new MemoryResourceProvider(); |
30 'tmp_embedder': [tmp_embedder], | 31 empty = resourceProvider.newFolder('/empty'); |
31 'tmp_sdk_ext': [tmp_sdk_ext] | 32 tmp_sdk_ext = resourceProvider.newFolder('/tmp_sdk_ext'); |
32 }; | 33 tmp_embedder = resourceProvider.newFolder('/tmp_embedder'); |
| 34 packageMap = <String, List<Folder>>{ |
| 35 'empty': [empty], |
| 36 'tmp_embedder': [tmp_embedder], |
| 37 'tmp_sdk_ext': [tmp_sdk_ext] |
| 38 }; |
| 39 } |
33 | 40 |
34 void test_basic_processing() { | 41 void test_basic_processing() { |
35 resourceProvider.newFile( | 42 resourceProvider.newFile( |
36 '/tmp_sdk_ext/_sdkext', | 43 '/tmp_sdk_ext/_sdkext', |
37 r''' | 44 r''' |
38 { | 45 { |
39 "dart:ui": "ui.dart" | 46 "dart:ui": "ui.dart" |
40 }'''); | 47 }'''); |
41 resourceProvider.newFile( | 48 resourceProvider.newFile( |
42 '/tmp_embedder/_embedder.yaml', | 49 '/tmp_embedder/_embedder.yaml', |
43 r''' | 50 r''' |
44 embedded_libs: | 51 embedded_libs: |
45 "dart:core" : "core.dart" | 52 "dart:core" : "core.dart" |
46 "dart:fox": "slippy.dart" | 53 "dart:fox": "slippy.dart" |
47 "dart:bear": "grizzly.dart" | 54 "dart:bear": "grizzly.dart" |
48 "dart:relative": "../relative.dart" | 55 "dart:relative": "../relative.dart" |
49 "dart:deep": "deep/directory/file.dart" | 56 "dart:deep": "deep/directory/file.dart" |
50 '''); | 57 '''); |
51 | 58 |
52 PackageMapProcessor proc = new PackageMapProcessor(packageMap); | 59 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
53 expect(proc.embeddedLibraries.size(), 5); | 60 expect(proc.embeddedLibraries.size(), 5); |
| 61 expect(proc.embeddedLibraries.getLibrary('dart:core').path, |
| 62 '/tmp_embedder/core.dart'); |
54 expect(proc.extendedLibraries.size(), 1); | 63 expect(proc.extendedLibraries.size(), 1); |
| 64 expect(proc.extendedLibraries.getLibrary('dart:ui').path, |
| 65 '/tmp_sdk_ext/ui.dart'); |
| 66 } |
| 67 |
| 68 void test_empty_package_map() { |
| 69 PackageMapProcessor proc = |
| 70 new PackageMapProcessor(<String, List<Folder>>{}); |
| 71 expect(proc.embeddedLibraries.size(), 0); |
| 72 expect(proc.extendedLibraries.size(), 0); |
| 73 expect(proc.libraryMap.size(), 0); |
55 } | 74 } |
56 | 75 |
57 void test_extenders_do_not_override() { | 76 void test_extenders_do_not_override() { |
58 resourceProvider.newFile( | 77 resourceProvider.newFile( |
59 '/tmp_sdk_ext/_sdkext', | 78 '/tmp_sdk_ext/_sdkext', |
60 r''' | 79 r''' |
61 { | 80 { |
62 "dart:ui": "ui2.dart" | 81 "dart:ui": "ui2.dart" |
63 }'''); | 82 }'''); |
64 resourceProvider.newFile( | 83 resourceProvider.newFile( |
65 '/tmp_embedder/_embedder.yaml', | 84 '/tmp_embedder/_embedder.yaml', |
66 r''' | 85 r''' |
67 embedded_libs: | 86 embedded_libs: |
68 "dart:core" : "core.dart" | 87 "dart:core" : "core.dart" |
69 "dart:ui": "ui.dart" | 88 "dart:ui": "ui.dart" |
70 '''); | 89 '''); |
71 | 90 |
72 PackageMapProcessor proc = new PackageMapProcessor(packageMap); | 91 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
73 expect(proc.embeddedLibraries.size(), 2); | 92 expect(proc.embeddedLibraries.size(), 2); |
74 expect(proc.extendedLibraries.size(), 1); | 93 expect(proc.extendedLibraries.size(), 1); |
75 expect(proc.libraryMap.size(), 2); | 94 expect(proc.libraryMap.size(), 2); |
76 expect(proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart'); | 95 expect(proc.libraryMap.getLibrary('dart:ui').path, '/tmp_embedder/ui.dart'); |
77 } | 96 } |
| 97 |
| 98 void test_invalid_embedder() { |
| 99 resourceProvider.newFile( |
| 100 '/tmp_embedder/_embedder.yaml', |
| 101 r''' |
| 102 invalid contents, will not parse |
| 103 '''); |
| 104 |
| 105 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
| 106 expect(proc.embeddedLibraries.size(), 0); |
| 107 expect(proc.extendedLibraries.size(), 0); |
| 108 expect(proc.libraryMap.size(), 0); |
| 109 } |
| 110 |
| 111 void test_invalid_extender() { |
| 112 resourceProvider.newFile( |
| 113 '/tmp_sdk_ext/_sdkext', |
| 114 r''' |
| 115 invalid contents, will not parse |
| 116 '''); |
| 117 |
| 118 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
| 119 expect(proc.embeddedLibraries.size(), 0); |
| 120 expect(proc.extendedLibraries.size(), 0); |
| 121 expect(proc.libraryMap.size(), 0); |
| 122 } |
| 123 |
| 124 void test_no_embedder() { |
| 125 resourceProvider.newFile( |
| 126 '/tmp_sdk_ext/_sdkext', |
| 127 r''' |
| 128 { |
| 129 "dart:ui": "ui2.dart" |
| 130 }'''); |
| 131 |
| 132 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
| 133 expect(proc.embeddedLibraries.size(), 0); |
| 134 expect(proc.extendedLibraries.size(), 1); |
| 135 expect(proc.libraryMap.size(), 1); |
| 136 } |
| 137 |
| 138 void test_no_embedder_or_extender() { |
| 139 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
| 140 expect(proc.embeddedLibraries.size(), 0); |
| 141 expect(proc.extendedLibraries.size(), 0); |
| 142 expect(proc.libraryMap.size(), 0); |
| 143 } |
| 144 |
| 145 void test_no_extender() { |
| 146 resourceProvider.newFile( |
| 147 '/tmp_embedder/_embedder.yaml', |
| 148 r''' |
| 149 embedded_libs: |
| 150 "dart:core" : "core.dart" |
| 151 "dart:ui": "ui.dart" |
| 152 '''); |
| 153 |
| 154 PackageMapProcessor proc = new PackageMapProcessor(packageMap); |
| 155 expect(proc.embeddedLibraries.size(), 2); |
| 156 expect(proc.extendedLibraries.size(), 0); |
| 157 expect(proc.libraryMap.size(), 2); |
| 158 } |
78 } | 159 } |
OLD | NEW |