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_builder_test; | 5 library analyzer.test.src.context.context_builder_test; |
6 | 6 |
7 import 'package:analyzer/context/context_root.dart'; | 7 import 'package:analyzer/context/context_root.dart'; |
8 import 'package:analyzer/file_system/file_system.dart'; | 8 import 'package:analyzer/file_system/file_system.dart'; |
9 import 'package:analyzer/file_system/memory_file_system.dart'; | 9 import 'package:analyzer/file_system/memory_file_system.dart'; |
10 import 'package:analyzer/source/package_map_resolver.dart'; | 10 import 'package:analyzer/source/package_map_resolver.dart'; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 | 81 |
82 Uri convertedDirectoryUri(String directoryPath) { | 82 Uri convertedDirectoryUri(String directoryPath) { |
83 return new Uri.directory(resourceProvider.convertPath(directoryPath), | 83 return new Uri.directory(resourceProvider.convertPath(directoryPath), |
84 windows: pathContext.style == path.windows.style); | 84 windows: pathContext.style == path.windows.style); |
85 } | 85 } |
86 | 86 |
87 void createDefaultSdk(Folder sdkDir) { | 87 void createDefaultSdk(Folder sdkDir) { |
88 defaultSdkPath = pathContext.join(sdkDir.path, 'default', 'sdk'); | 88 defaultSdkPath = pathContext.join(sdkDir.path, 'default', 'sdk'); |
89 String librariesFilePath = pathContext.join(defaultSdkPath, 'lib', | 89 String librariesFilePath = pathContext.join(defaultSdkPath, 'lib', |
90 '_internal', 'sdk_library_metadata', 'lib', 'libraries.dart'); | 90 '_internal', 'sdk_library_metadata', 'lib', 'libraries.dart'); |
91 resourceProvider.newFile( | 91 resourceProvider.newFile(librariesFilePath, r''' |
92 librariesFilePath, | |
93 r''' | |
94 const Map<String, LibraryInfo> libraries = const { | 92 const Map<String, LibraryInfo> libraries = const { |
95 "async": const LibraryInfo("async/async.dart"), | 93 "async": const LibraryInfo("async/async.dart"), |
96 "core": const LibraryInfo("core/core.dart"), | 94 "core": const LibraryInfo("core/core.dart"), |
97 }; | 95 }; |
98 '''); | 96 '''); |
99 sdkManager = new DartSdkManager(defaultSdkPath, false); | 97 sdkManager = new DartSdkManager(defaultSdkPath, false); |
100 builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 98 builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
101 options: builderOptions); | 99 options: builderOptions); |
102 } | 100 } |
103 | 101 |
(...skipping 26 matching lines...) Expand all Loading... |
130 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 128 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
131 options: createContextBuilderOptions(argResults)); | 129 options: createContextBuilderOptions(argResults)); |
132 | 130 |
133 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 131 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
134 expected.lint = true; | 132 expected.lint = true; |
135 expected.lintRules = Registry.ruleRegistry.defaultRules; | 133 expected.lintRules = Registry.ruleRegistry.defaultRules; |
136 | 134 |
137 String path = resourceProvider.convertPath('/some/directory/path'); | 135 String path = resourceProvider.convertPath('/some/directory/path'); |
138 String filePath = | 136 String filePath = |
139 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 137 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
140 resourceProvider.newFile( | 138 resourceProvider.newFile(filePath, ''' |
141 filePath, | |
142 ''' | |
143 '''); | 139 '''); |
144 | 140 |
145 AnalysisOptions options = builder.getAnalysisOptions(path); | 141 AnalysisOptions options = builder.getAnalysisOptions(path); |
146 _expectEqualOptions(options, expected); | 142 _expectEqualOptions(options, expected); |
147 } | 143 } |
148 | 144 |
149 void test_cmdline_lint_defined() { | 145 void test_cmdline_lint_defined() { |
150 _defineMockLintRules(); | 146 _defineMockLintRules(); |
151 ArgParser argParser = new ArgParser(); | 147 ArgParser argParser = new ArgParser(); |
152 defineAnalysisArguments(argParser); | 148 defineAnalysisArguments(argParser); |
153 ArgResults argResults = argParser.parse(['--$lintsFlag']); | 149 ArgResults argResults = argParser.parse(['--$lintsFlag']); |
154 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 150 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
155 options: createContextBuilderOptions(argResults)); | 151 options: createContextBuilderOptions(argResults)); |
156 | 152 |
157 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 153 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
158 expected.lint = true; | 154 expected.lint = true; |
159 expected.lintRules = <LintRule>[ | 155 expected.lintRules = <LintRule>[ |
160 Registry.ruleRegistry['mock_lint_rule'], | 156 Registry.ruleRegistry['mock_lint_rule'], |
161 ]; | 157 ]; |
162 | 158 |
163 String path = resourceProvider.convertPath('/some/directory/path'); | 159 String path = resourceProvider.convertPath('/some/directory/path'); |
164 String filePath = | 160 String filePath = |
165 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 161 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
166 resourceProvider.newFile( | 162 resourceProvider.newFile(filePath, ''' |
167 filePath, | |
168 ''' | |
169 linter: | 163 linter: |
170 rules: | 164 rules: |
171 - mock_lint_rule | 165 - mock_lint_rule |
172 '''); | 166 '''); |
173 | 167 |
174 AnalysisOptions options = builder.getAnalysisOptions(path); | 168 AnalysisOptions options = builder.getAnalysisOptions(path); |
175 _expectEqualOptions(options, expected); | 169 _expectEqualOptions(options, expected); |
176 } | 170 } |
177 | 171 |
178 void test_cmdline_lint_off() { | 172 void test_cmdline_lint_off() { |
179 ArgParser argParser = new ArgParser(); | 173 ArgParser argParser = new ArgParser(); |
180 defineAnalysisArguments(argParser); | 174 defineAnalysisArguments(argParser); |
181 ArgResults argResults = argParser.parse(['--no-$lintsFlag']); | 175 ArgResults argResults = argParser.parse(['--no-$lintsFlag']); |
182 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 176 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
183 options: createContextBuilderOptions(argResults)); | 177 options: createContextBuilderOptions(argResults)); |
184 | 178 |
185 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 179 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
186 expected.lint = false; | 180 expected.lint = false; |
187 expected.lintRules = <LintRule>[ | 181 expected.lintRules = <LintRule>[ |
188 Registry.ruleRegistry['mock_lint_rule'], | 182 Registry.ruleRegistry['mock_lint_rule'], |
189 ]; | 183 ]; |
190 | 184 |
191 String path = resourceProvider.convertPath('/some/directory/path'); | 185 String path = resourceProvider.convertPath('/some/directory/path'); |
192 String filePath = | 186 String filePath = |
193 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 187 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
194 resourceProvider.newFile( | 188 resourceProvider.newFile(filePath, ''' |
195 filePath, | |
196 ''' | |
197 linter: | 189 linter: |
198 rules: | 190 rules: |
199 - mock_lint_rule | 191 - mock_lint_rule |
200 '''); | 192 '''); |
201 | 193 |
202 AnalysisOptions options = builder.getAnalysisOptions(path); | 194 AnalysisOptions options = builder.getAnalysisOptions(path); |
203 _expectEqualOptions(options, expected); | 195 _expectEqualOptions(options, expected); |
204 } | 196 } |
205 | 197 |
206 void test_cmdline_lint_unspecified_1() { | 198 void test_cmdline_lint_unspecified_1() { |
207 ArgParser argParser = new ArgParser(); | 199 ArgParser argParser = new ArgParser(); |
208 defineAnalysisArguments(argParser); | 200 defineAnalysisArguments(argParser); |
209 ArgResults argResults = argParser.parse([]); | 201 ArgResults argResults = argParser.parse([]); |
210 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 202 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
211 options: createContextBuilderOptions(argResults)); | 203 options: createContextBuilderOptions(argResults)); |
212 | 204 |
213 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 205 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
214 expected.lint = true; | 206 expected.lint = true; |
215 expected.lintRules = <LintRule>[ | 207 expected.lintRules = <LintRule>[ |
216 Registry.ruleRegistry['mock_lint_rule'], | 208 Registry.ruleRegistry['mock_lint_rule'], |
217 ]; | 209 ]; |
218 | 210 |
219 String path = resourceProvider.convertPath('/some/directory/path'); | 211 String path = resourceProvider.convertPath('/some/directory/path'); |
220 String filePath = | 212 String filePath = |
221 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 213 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
222 resourceProvider.newFile( | 214 resourceProvider.newFile(filePath, ''' |
223 filePath, | |
224 ''' | |
225 linter: | 215 linter: |
226 rules: | 216 rules: |
227 - mock_lint_rule | 217 - mock_lint_rule |
228 '''); | 218 '''); |
229 | 219 |
230 AnalysisOptions options = builder.getAnalysisOptions(path); | 220 AnalysisOptions options = builder.getAnalysisOptions(path); |
231 _expectEqualOptions(options, expected); | 221 _expectEqualOptions(options, expected); |
232 } | 222 } |
233 | 223 |
234 void test_cmdline_lint_unspecified_2() { | 224 void test_cmdline_lint_unspecified_2() { |
235 ArgParser argParser = new ArgParser(); | 225 ArgParser argParser = new ArgParser(); |
236 defineAnalysisArguments(argParser); | 226 defineAnalysisArguments(argParser); |
237 ArgResults argResults = argParser.parse([]); | 227 ArgResults argResults = argParser.parse([]); |
238 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 228 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
239 options: createContextBuilderOptions(argResults)); | 229 options: createContextBuilderOptions(argResults)); |
240 | 230 |
241 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 231 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
242 expected.lint = false; | 232 expected.lint = false; |
243 expected.lintRules = <LintRule>[]; | 233 expected.lintRules = <LintRule>[]; |
244 | 234 |
245 String path = resourceProvider.convertPath('/some/directory/path'); | 235 String path = resourceProvider.convertPath('/some/directory/path'); |
246 String filePath = | 236 String filePath = |
247 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 237 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
248 resourceProvider.newFile( | 238 resourceProvider.newFile(filePath, ''' |
249 filePath, | |
250 ''' | |
251 '''); | 239 '''); |
252 | 240 |
253 AnalysisOptions options = builder.getAnalysisOptions(path); | 241 AnalysisOptions options = builder.getAnalysisOptions(path); |
254 _expectEqualOptions(options, expected); | 242 _expectEqualOptions(options, expected); |
255 } | 243 } |
256 | 244 |
257 void test_cmdline_options_override_options_file() { | 245 void test_cmdline_options_override_options_file() { |
258 ArgParser argParser = new ArgParser(); | 246 ArgParser argParser = new ArgParser(); |
259 defineAnalysisArguments(argParser); | 247 defineAnalysisArguments(argParser); |
260 ArgResults argResults = argParser.parse(['--$enableStrictCallChecksFlag']); | 248 ArgResults argResults = argParser.parse(['--$enableStrictCallChecksFlag']); |
261 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 249 var builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
262 options: createContextBuilderOptions(argResults)); | 250 options: createContextBuilderOptions(argResults)); |
263 | 251 |
264 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 252 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
265 expected.enableSuperMixins = true; | 253 expected.enableSuperMixins = true; |
266 expected.enableStrictCallChecks = true; | 254 expected.enableStrictCallChecks = true; |
267 | 255 |
268 String path = resourceProvider.convertPath('/some/directory/path'); | 256 String path = resourceProvider.convertPath('/some/directory/path'); |
269 String filePath = | 257 String filePath = |
270 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 258 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
271 resourceProvider.newFile( | 259 resourceProvider.newFile(filePath, ''' |
272 filePath, | |
273 ''' | |
274 analyzer: | 260 analyzer: |
275 language: | 261 language: |
276 enableSuperMixins : true | 262 enableSuperMixins : true |
277 enableStrictCallChecks : false | 263 enableStrictCallChecks : false |
278 '''); | 264 '''); |
279 | 265 |
280 AnalysisOptions options = builder.getAnalysisOptions(path); | 266 AnalysisOptions options = builder.getAnalysisOptions(path); |
281 _expectEqualOptions(options, expected); | 267 _expectEqualOptions(options, expected); |
282 } | 268 } |
283 | 269 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 } | 356 } |
371 | 357 |
372 void test_createPackageMap_fromPackageFile_explicit() { | 358 void test_createPackageMap_fromPackageFile_explicit() { |
373 // Use a package file that is outside the project directory's hierarchy. | 359 // Use a package file that is outside the project directory's hierarchy. |
374 String rootPath = resourceProvider.convertPath('/root'); | 360 String rootPath = resourceProvider.convertPath('/root'); |
375 String projectPath = pathContext.join(rootPath, 'project'); | 361 String projectPath = pathContext.join(rootPath, 'project'); |
376 String packageFilePath = pathContext.join(rootPath, 'child', '.packages'); | 362 String packageFilePath = pathContext.join(rootPath, 'child', '.packages'); |
377 resourceProvider.newFolder(projectPath); | 363 resourceProvider.newFolder(projectPath); |
378 Uri fooUri = convertedDirectoryUri('/pkg/foo'); | 364 Uri fooUri = convertedDirectoryUri('/pkg/foo'); |
379 Uri barUri = convertedDirectoryUri('/pkg/bar'); | 365 Uri barUri = convertedDirectoryUri('/pkg/bar'); |
380 createFile( | 366 createFile(packageFilePath, ''' |
381 packageFilePath, | |
382 ''' | |
383 foo:$fooUri | 367 foo:$fooUri |
384 bar:$barUri | 368 bar:$barUri |
385 '''); | 369 '''); |
386 | 370 |
387 builderOptions.defaultPackageFilePath = packageFilePath; | 371 builderOptions.defaultPackageFilePath = packageFilePath; |
388 Packages packages = builder.createPackageMap(projectPath); | 372 Packages packages = builder.createPackageMap(projectPath); |
389 expect(packages, isNotNull); | 373 expect(packages, isNotNull); |
390 Map<String, Uri> map = packages.asMap(); | 374 Map<String, Uri> map = packages.asMap(); |
391 expect(map, hasLength(2)); | 375 expect(map, hasLength(2)); |
392 expect(map['foo'], fooUri); | 376 expect(map['foo'], fooUri); |
393 expect(map['bar'], barUri); | 377 expect(map['bar'], barUri); |
394 } | 378 } |
395 | 379 |
396 void test_createPackageMap_fromPackageFile_inParentOfRoot() { | 380 void test_createPackageMap_fromPackageFile_inParentOfRoot() { |
397 // Use a package file that is inside the parent of the project directory. | 381 // Use a package file that is inside the parent of the project directory. |
398 String rootPath = resourceProvider.convertPath('/root'); | 382 String rootPath = resourceProvider.convertPath('/root'); |
399 String projectPath = pathContext.join(rootPath, 'project'); | 383 String projectPath = pathContext.join(rootPath, 'project'); |
400 String packageFilePath = pathContext.join(rootPath, '.packages'); | 384 String packageFilePath = pathContext.join(rootPath, '.packages'); |
401 resourceProvider.newFolder(projectPath); | 385 resourceProvider.newFolder(projectPath); |
402 Uri fooUri = convertedDirectoryUri('/pkg/foo'); | 386 Uri fooUri = convertedDirectoryUri('/pkg/foo'); |
403 Uri barUri = convertedDirectoryUri('/pkg/bar'); | 387 Uri barUri = convertedDirectoryUri('/pkg/bar'); |
404 createFile( | 388 createFile(packageFilePath, ''' |
405 packageFilePath, | |
406 ''' | |
407 foo:$fooUri | 389 foo:$fooUri |
408 bar:$barUri | 390 bar:$barUri |
409 '''); | 391 '''); |
410 | 392 |
411 Packages packages = builder.createPackageMap(projectPath); | 393 Packages packages = builder.createPackageMap(projectPath); |
412 expect(packages, isNotNull); | 394 expect(packages, isNotNull); |
413 Map<String, Uri> map = packages.asMap(); | 395 Map<String, Uri> map = packages.asMap(); |
414 expect(map, hasLength(2)); | 396 expect(map, hasLength(2)); |
415 expect(map['foo'], fooUri); | 397 expect(map['foo'], fooUri); |
416 expect(map['bar'], barUri); | 398 expect(map['bar'], barUri); |
417 } | 399 } |
418 | 400 |
419 void test_createPackageMap_fromPackageFile_inRoot() { | 401 void test_createPackageMap_fromPackageFile_inRoot() { |
420 // Use a package file that is inside the project directory. | 402 // Use a package file that is inside the project directory. |
421 String rootPath = resourceProvider.convertPath('/root'); | 403 String rootPath = resourceProvider.convertPath('/root'); |
422 String projectPath = pathContext.join(rootPath, 'project'); | 404 String projectPath = pathContext.join(rootPath, 'project'); |
423 String packageFilePath = pathContext.join(projectPath, '.packages'); | 405 String packageFilePath = pathContext.join(projectPath, '.packages'); |
424 resourceProvider.newFolder(projectPath); | 406 resourceProvider.newFolder(projectPath); |
425 Uri fooUri = convertedDirectoryUri('/pkg/foo'); | 407 Uri fooUri = convertedDirectoryUri('/pkg/foo'); |
426 Uri barUri = convertedDirectoryUri('/pkg/bar'); | 408 Uri barUri = convertedDirectoryUri('/pkg/bar'); |
427 createFile( | 409 createFile(packageFilePath, ''' |
428 packageFilePath, | |
429 ''' | |
430 foo:$fooUri | 410 foo:$fooUri |
431 bar:$barUri | 411 bar:$barUri |
432 '''); | 412 '''); |
433 | 413 |
434 Packages packages = builder.createPackageMap(projectPath); | 414 Packages packages = builder.createPackageMap(projectPath); |
435 expect(packages, isNotNull); | 415 expect(packages, isNotNull); |
436 Map<String, Uri> map = packages.asMap(); | 416 Map<String, Uri> map = packages.asMap(); |
437 expect(map, hasLength(2)); | 417 expect(map, hasLength(2)); |
438 expect(map['foo'], fooUri); | 418 expect(map['foo'], fooUri); |
439 expect(map['bar'], barUri); | 419 expect(map['bar'], barUri); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 void test_createSourceFactory_noProvider_packages_embedder_extensions() { | 472 void test_createSourceFactory_noProvider_packages_embedder_extensions() { |
493 String rootPath = resourceProvider.convertPath('/root'); | 473 String rootPath = resourceProvider.convertPath('/root'); |
494 Folder rootFolder = resourceProvider.getFolder(rootPath); | 474 Folder rootFolder = resourceProvider.getFolder(rootPath); |
495 createDefaultSdk(rootFolder); | 475 createDefaultSdk(rootFolder); |
496 String projectPath = pathContext.join(rootPath, 'project'); | 476 String projectPath = pathContext.join(rootPath, 'project'); |
497 String packageFilePath = pathContext.join(projectPath, '.packages'); | 477 String packageFilePath = pathContext.join(projectPath, '.packages'); |
498 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); | 478 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); |
499 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); | 479 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); |
500 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); | 480 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); |
501 String extensionPath = pathContext.join(packageB, '_sdkext'); | 481 String extensionPath = pathContext.join(packageB, '_sdkext'); |
502 createFile( | 482 createFile(packageFilePath, ''' |
503 packageFilePath, | |
504 ''' | |
505 a:${pathContext.toUri(packageA)} | 483 a:${pathContext.toUri(packageA)} |
506 b:${pathContext.toUri(packageB)} | 484 b:${pathContext.toUri(packageB)} |
507 '''); | 485 '''); |
508 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); | 486 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); |
509 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); | 487 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); |
510 createFile( | 488 createFile(embedderPath, ''' |
511 embedderPath, | |
512 ''' | |
513 embedded_libs: | 489 embedded_libs: |
514 "dart:async": ${_relativeUri(asyncPath, from: packageA)} | 490 "dart:async": ${_relativeUri(asyncPath, from: packageA)} |
515 "dart:core": ${_relativeUri(corePath, from: packageA)} | 491 "dart:core": ${_relativeUri(corePath, from: packageA)} |
516 '''); | 492 '''); |
517 String fooPath = pathContext.join(packageB, 'ext', 'foo.dart'); | 493 String fooPath = pathContext.join(packageB, 'ext', 'foo.dart'); |
518 createFile( | 494 createFile(extensionPath, '''{ |
519 extensionPath, | |
520 '''{ | |
521 "dart:foo": "${_relativeUri(fooPath, from: packageB)}" | 495 "dart:foo": "${_relativeUri(fooPath, from: packageB)}" |
522 }'''); | 496 }'''); |
523 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 497 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
524 | 498 |
525 SourceFactory factory = builder.createSourceFactory(projectPath, options); | 499 SourceFactory factory = builder.createSourceFactory(projectPath, options); |
526 | 500 |
527 Source asyncSource = factory.forUri('dart:async'); | 501 Source asyncSource = factory.forUri('dart:async'); |
528 expect(asyncSource, isNotNull); | 502 expect(asyncSource, isNotNull); |
529 expect(asyncSource.fullName, asyncPath); | 503 expect(asyncSource.fullName, asyncPath); |
530 | 504 |
531 Source fooSource = factory.forUri('dart:foo'); | 505 Source fooSource = factory.forUri('dart:foo'); |
532 expect(fooSource, isNotNull); | 506 expect(fooSource, isNotNull); |
533 expect(fooSource.fullName, fooPath); | 507 expect(fooSource.fullName, fooPath); |
534 | 508 |
535 Source packageSource = factory.forUri('package:b/b.dart'); | 509 Source packageSource = factory.forUri('package:b/b.dart'); |
536 expect(packageSource, isNotNull); | 510 expect(packageSource, isNotNull); |
537 expect(packageSource.fullName, pathContext.join(packageB, 'b.dart')); | 511 expect(packageSource.fullName, pathContext.join(packageB, 'b.dart')); |
538 } | 512 } |
539 | 513 |
540 void test_createSourceFactory_noProvider_packages_embedder_noExtensions() { | 514 void test_createSourceFactory_noProvider_packages_embedder_noExtensions() { |
541 String rootPath = resourceProvider.convertPath('/root'); | 515 String rootPath = resourceProvider.convertPath('/root'); |
542 Folder rootFolder = resourceProvider.getFolder(rootPath); | 516 Folder rootFolder = resourceProvider.getFolder(rootPath); |
543 createDefaultSdk(rootFolder); | 517 createDefaultSdk(rootFolder); |
544 String projectPath = pathContext.join(rootPath, 'project'); | 518 String projectPath = pathContext.join(rootPath, 'project'); |
545 String packageFilePath = pathContext.join(projectPath, '.packages'); | 519 String packageFilePath = pathContext.join(projectPath, '.packages'); |
546 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); | 520 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); |
547 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); | 521 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); |
548 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); | 522 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); |
549 createFile( | 523 createFile(packageFilePath, ''' |
550 packageFilePath, | |
551 ''' | |
552 a:${pathContext.toUri(packageA)} | 524 a:${pathContext.toUri(packageA)} |
553 b:${pathContext.toUri(packageB)} | 525 b:${pathContext.toUri(packageB)} |
554 '''); | 526 '''); |
555 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); | 527 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); |
556 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); | 528 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); |
557 createFile( | 529 createFile(embedderPath, ''' |
558 embedderPath, | |
559 ''' | |
560 embedded_libs: | 530 embedded_libs: |
561 "dart:async": ${_relativeUri(asyncPath, from: packageA)} | 531 "dart:async": ${_relativeUri(asyncPath, from: packageA)} |
562 "dart:core": ${_relativeUri(corePath, from: packageA)} | 532 "dart:core": ${_relativeUri(corePath, from: packageA)} |
563 '''); | 533 '''); |
564 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 534 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
565 | 535 |
566 SourceFactory factory = builder.createSourceFactory(projectPath, options); | 536 SourceFactory factory = builder.createSourceFactory(projectPath, options); |
567 | 537 |
568 Source dartSource = factory.forUri('dart:async'); | 538 Source dartSource = factory.forUri('dart:async'); |
569 expect(dartSource, isNotNull); | 539 expect(dartSource, isNotNull); |
(...skipping 10 matching lines...) Expand all Loading... |
580 } | 550 } |
581 | 551 |
582 void test_createSourceFactory_noProvider_packages_noEmbedder_noExtensions() { | 552 void test_createSourceFactory_noProvider_packages_noEmbedder_noExtensions() { |
583 String rootPath = resourceProvider.convertPath('/root'); | 553 String rootPath = resourceProvider.convertPath('/root'); |
584 Folder rootFolder = resourceProvider.getFolder(rootPath); | 554 Folder rootFolder = resourceProvider.getFolder(rootPath); |
585 createDefaultSdk(rootFolder); | 555 createDefaultSdk(rootFolder); |
586 String projectPath = pathContext.join(rootPath, 'project'); | 556 String projectPath = pathContext.join(rootPath, 'project'); |
587 String packageFilePath = pathContext.join(projectPath, '.packages'); | 557 String packageFilePath = pathContext.join(projectPath, '.packages'); |
588 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); | 558 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); |
589 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); | 559 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); |
590 createFile( | 560 createFile(packageFilePath, ''' |
591 packageFilePath, | |
592 ''' | |
593 a:${pathContext.toUri(packageA)} | 561 a:${pathContext.toUri(packageA)} |
594 b:${pathContext.toUri(packageB)} | 562 b:${pathContext.toUri(packageB)} |
595 '''); | 563 '''); |
596 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 564 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
597 | 565 |
598 SourceFactory factory = builder.createSourceFactory(projectPath, options); | 566 SourceFactory factory = builder.createSourceFactory(projectPath, options); |
599 | 567 |
600 Source dartSource = factory.forUri('dart:core'); | 568 Source dartSource = factory.forUri('dart:core'); |
601 expect(dartSource, isNotNull); | 569 expect(dartSource, isNotNull); |
602 expect(dartSource.fullName, | 570 expect(dartSource.fullName, |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); | 690 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); |
723 builderOptions.defaultOptions = defaultOptions; | 691 builderOptions.defaultOptions = defaultOptions; |
724 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 692 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
725 expected.lint = true; | 693 expected.lint = true; |
726 expected.lintRules = <Linter>[_mockLintRule]; | 694 expected.lintRules = <Linter>[_mockLintRule]; |
727 String packagesFilePath = | 695 String packagesFilePath = |
728 resourceProvider.convertPath('/some/directory/path/.packages'); | 696 resourceProvider.convertPath('/some/directory/path/.packages'); |
729 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); | 697 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); |
730 String optionsFilePath = resourceProvider | 698 String optionsFilePath = resourceProvider |
731 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); | 699 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); |
732 createFile( | 700 createFile(optionsFilePath, ''' |
733 optionsFilePath, | |
734 ''' | |
735 linter: | 701 linter: |
736 rules: | 702 rules: |
737 - mock_lint_rule | 703 - mock_lint_rule |
738 '''); | 704 '''); |
739 String projPath = resourceProvider.convertPath('/some/directory/path'); | 705 String projPath = resourceProvider.convertPath('/some/directory/path'); |
740 AnalysisOptions options = builder.getAnalysisOptions(projPath); | 706 AnalysisOptions options = builder.getAnalysisOptions(projPath); |
741 _expectEqualOptions(options, expected); | 707 _expectEqualOptions(options, expected); |
742 } | 708 } |
743 | 709 |
744 void test_getAnalysisOptions_default_flutter_disabled() { | 710 void test_getAnalysisOptions_default_flutter_disabled() { |
745 _defineMockLintRules(); | 711 _defineMockLintRules(); |
746 ArgParser argParser = new ArgParser(); | 712 ArgParser argParser = new ArgParser(); |
747 defineAnalysisArguments(argParser); | 713 defineAnalysisArguments(argParser); |
748 ArgResults argResults = | 714 ArgResults argResults = |
749 argParser.parse(['--no-$packageDefaultAnalysisOptions']); | 715 argParser.parse(['--no-$packageDefaultAnalysisOptions']); |
750 | 716 |
751 builderOptions = createContextBuilderOptions(argResults); | 717 builderOptions = createContextBuilderOptions(argResults); |
752 expect(builderOptions.packageDefaultAnalysisOptions, isFalse); | 718 expect(builderOptions.packageDefaultAnalysisOptions, isFalse); |
753 builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, | 719 builder = new ContextBuilder(resourceProvider, sdkManager, contentCache, |
754 options: builderOptions); | 720 options: builderOptions); |
755 | 721 |
756 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 722 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
757 | 723 |
758 String packagesFilePath = | 724 String packagesFilePath = |
759 resourceProvider.convertPath('/some/directory/path/.packages'); | 725 resourceProvider.convertPath('/some/directory/path/.packages'); |
760 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); | 726 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); |
761 String optionsFilePath = resourceProvider | 727 String optionsFilePath = resourceProvider |
762 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); | 728 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); |
763 createFile( | 729 createFile(optionsFilePath, ''' |
764 optionsFilePath, | |
765 ''' | |
766 linter: | 730 linter: |
767 rules: | 731 rules: |
768 - mock_lint_rule | 732 - mock_lint_rule |
769 '''); | 733 '''); |
770 String projPath = resourceProvider.convertPath('/some/directory/path'); | 734 String projPath = resourceProvider.convertPath('/some/directory/path'); |
771 AnalysisOptions options = builder.getAnalysisOptions(projPath); | 735 AnalysisOptions options = builder.getAnalysisOptions(projPath); |
772 _expectEqualOptions(options, expected); | 736 _expectEqualOptions(options, expected); |
773 } | 737 } |
774 | 738 |
775 void test_getAnalysisOptions_default_flutter_repo() { | 739 void test_getAnalysisOptions_default_flutter_repo() { |
776 _defineMockLintRules(); | 740 _defineMockLintRules(); |
777 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); | 741 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); |
778 builderOptions.defaultOptions = defaultOptions; | 742 builderOptions.defaultOptions = defaultOptions; |
779 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 743 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
780 expected.lint = true; | 744 expected.lint = true; |
781 expected.lintRules = <Linter>[_mockLintRule, _mockPublicMemberApiDocs]; | 745 expected.lintRules = <Linter>[_mockLintRule, _mockPublicMemberApiDocs]; |
782 String packagesFilePath = | 746 String packagesFilePath = |
783 resourceProvider.convertPath('/some/directory/path/.packages'); | 747 resourceProvider.convertPath('/some/directory/path/.packages'); |
784 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); | 748 createFile(packagesFilePath, 'flutter:/pkg/flutter/lib/'); |
785 String optionsFilePath = resourceProvider | 749 String optionsFilePath = resourceProvider |
786 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); | 750 .convertPath('/pkg/flutter/lib/analysis_options_user.yaml'); |
787 createFile( | 751 createFile(optionsFilePath, ''' |
788 optionsFilePath, | |
789 ''' | |
790 linter: | 752 linter: |
791 rules: | 753 rules: |
792 - mock_lint_rule | 754 - mock_lint_rule |
793 '''); | 755 '''); |
794 String projPath = resourceProvider.convertPath('/some/directory/path'); | 756 String projPath = resourceProvider.convertPath('/some/directory/path'); |
795 AnalysisOptions options; | 757 AnalysisOptions options; |
796 try { | 758 try { |
797 ContextBuilderOptions.flutterRepo = true; | 759 ContextBuilderOptions.flutterRepo = true; |
798 options = builder.getAnalysisOptions(projPath); | 760 options = builder.getAnalysisOptions(projPath); |
799 } finally { | 761 } finally { |
800 ContextBuilderOptions.flutterRepo = false; | 762 ContextBuilderOptions.flutterRepo = false; |
801 } | 763 } |
802 _expectEqualOptions(options, expected); | 764 _expectEqualOptions(options, expected); |
803 } | 765 } |
804 | 766 |
805 void test_getAnalysisOptions_default_noOverrides() { | 767 void test_getAnalysisOptions_default_noOverrides() { |
806 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); | 768 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); |
807 defaultOptions.enableLazyAssignmentOperators = true; | 769 defaultOptions.enableLazyAssignmentOperators = true; |
808 builderOptions.defaultOptions = defaultOptions; | 770 builderOptions.defaultOptions = defaultOptions; |
809 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 771 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
810 expected.enableLazyAssignmentOperators = true; | 772 expected.enableLazyAssignmentOperators = true; |
811 String path = resourceProvider.convertPath('/some/directory/path'); | 773 String path = resourceProvider.convertPath('/some/directory/path'); |
812 String filePath = | 774 String filePath = |
813 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 775 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
814 resourceProvider.newFile( | 776 resourceProvider.newFile(filePath, ''' |
815 filePath, | |
816 ''' | |
817 linter: | 777 linter: |
818 rules: | 778 rules: |
819 - empty_constructor_bodies | 779 - empty_constructor_bodies |
820 '''); | 780 '''); |
821 | 781 |
822 AnalysisOptions options = builder.getAnalysisOptions(path); | 782 AnalysisOptions options = builder.getAnalysisOptions(path); |
823 _expectEqualOptions(options, expected); | 783 _expectEqualOptions(options, expected); |
824 } | 784 } |
825 | 785 |
826 void test_getAnalysisOptions_default_overrides() { | 786 void test_getAnalysisOptions_default_overrides() { |
827 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); | 787 AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl(); |
828 defaultOptions.enableSuperMixins = false; | 788 defaultOptions.enableSuperMixins = false; |
829 defaultOptions.enableLazyAssignmentOperators = true; | 789 defaultOptions.enableLazyAssignmentOperators = true; |
830 builderOptions.defaultOptions = defaultOptions; | 790 builderOptions.defaultOptions = defaultOptions; |
831 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 791 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
832 expected.enableSuperMixins = true; | 792 expected.enableSuperMixins = true; |
833 expected.enableLazyAssignmentOperators = true; | 793 expected.enableLazyAssignmentOperators = true; |
834 String path = resourceProvider.convertPath('/some/directory/path'); | 794 String path = resourceProvider.convertPath('/some/directory/path'); |
835 String filePath = | 795 String filePath = |
836 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 796 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
837 resourceProvider.newFile( | 797 resourceProvider.newFile(filePath, ''' |
838 filePath, | |
839 ''' | |
840 analyzer: | 798 analyzer: |
841 language: | 799 language: |
842 enableSuperMixins : true | 800 enableSuperMixins : true |
843 '''); | 801 '''); |
844 | 802 |
845 AnalysisOptions options = builder.getAnalysisOptions(path); | 803 AnalysisOptions options = builder.getAnalysisOptions(path); |
846 _expectEqualOptions(options, expected); | 804 _expectEqualOptions(options, expected); |
847 } | 805 } |
848 | 806 |
849 void test_getAnalysisOptions_gnWorkspace() { | 807 void test_getAnalysisOptions_gnWorkspace() { |
(...skipping 23 matching lines...) Expand all Loading... |
873 builderOptions.defaultOptions = defaultOptions; | 831 builderOptions.defaultOptions = defaultOptions; |
874 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 832 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
875 expected.enableSuperMixins = true; | 833 expected.enableSuperMixins = true; |
876 expected.lint = true; | 834 expected.lint = true; |
877 expected.lintRules = <Linter>[ | 835 expected.lintRules = <Linter>[ |
878 _mockLintRule, | 836 _mockLintRule, |
879 _mockLintRule2, | 837 _mockLintRule2, |
880 _mockLintRule3 | 838 _mockLintRule3 |
881 ]; | 839 ]; |
882 resourceProvider.newFile( | 840 resourceProvider.newFile( |
883 resourceProvider.convertPath('/mypkgs/somepkg/lib/here.yaml'), | 841 resourceProvider.convertPath('/mypkgs/somepkg/lib/here.yaml'), ''' |
884 ''' | |
885 linter: | 842 linter: |
886 rules: | 843 rules: |
887 - mock_lint_rule3 | 844 - mock_lint_rule3 |
888 '''); | 845 '''); |
889 String path = resourceProvider.convertPath('/some/directory/path'); | 846 String path = resourceProvider.convertPath('/some/directory/path'); |
890 resourceProvider.newFile( | 847 resourceProvider.newFile(pathContext.join(path, '.packages'), ''' |
891 pathContext.join(path, '.packages'), | |
892 ''' | |
893 somepkg:../../../mypkgs/somepkg/lib | 848 somepkg:../../../mypkgs/somepkg/lib |
894 '''); | 849 '''); |
895 resourceProvider.newFile( | 850 resourceProvider.newFile(pathContext.join(path, 'bar.yaml'), ''' |
896 pathContext.join(path, 'bar.yaml'), | |
897 ''' | |
898 include: package:somepkg/here.yaml | 851 include: package:somepkg/here.yaml |
899 analyzer: | 852 analyzer: |
900 language: | 853 language: |
901 enableSuperMixins : true | 854 enableSuperMixins : true |
902 linter: | 855 linter: |
903 rules: | 856 rules: |
904 - mock_lint_rule2 | 857 - mock_lint_rule2 |
905 '''); | 858 '''); |
906 String filePath = | 859 String filePath = |
907 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 860 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
908 resourceProvider.newFile( | 861 resourceProvider.newFile(filePath, ''' |
909 filePath, | |
910 ''' | |
911 include: bar.yaml | 862 include: bar.yaml |
912 linter: | 863 linter: |
913 rules: | 864 rules: |
914 - mock_lint_rule | 865 - mock_lint_rule |
915 '''); | 866 '''); |
916 | 867 |
917 AnalysisOptions options = builder.getAnalysisOptions(path); | 868 AnalysisOptions options = builder.getAnalysisOptions(path); |
918 _expectEqualOptions(options, expected); | 869 _expectEqualOptions(options, expected); |
919 } | 870 } |
920 | 871 |
921 void test_getAnalysisOptions_invalid() { | 872 void test_getAnalysisOptions_invalid() { |
922 String path = resourceProvider.convertPath('/some/directory/path'); | 873 String path = resourceProvider.convertPath('/some/directory/path'); |
923 String filePath = | 874 String filePath = |
924 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 875 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
925 resourceProvider.newFile(filePath, ';'); | 876 resourceProvider.newFile(filePath, ';'); |
926 | 877 |
927 AnalysisOptions options = builder.getAnalysisOptions(path); | 878 AnalysisOptions options = builder.getAnalysisOptions(path); |
928 expect(options, isNotNull); | 879 expect(options, isNotNull); |
929 } | 880 } |
930 | 881 |
931 void test_getAnalysisOptions_noDefault_noOverrides() { | 882 void test_getAnalysisOptions_noDefault_noOverrides() { |
932 String path = resourceProvider.convertPath('/some/directory/path'); | 883 String path = resourceProvider.convertPath('/some/directory/path'); |
933 String filePath = | 884 String filePath = |
934 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 885 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
935 resourceProvider.newFile( | 886 resourceProvider.newFile(filePath, ''' |
936 filePath, | |
937 ''' | |
938 linter: | 887 linter: |
939 rules: | 888 rules: |
940 - empty_constructor_bodies | 889 - empty_constructor_bodies |
941 '''); | 890 '''); |
942 | 891 |
943 AnalysisOptions options = builder.getAnalysisOptions(path); | 892 AnalysisOptions options = builder.getAnalysisOptions(path); |
944 _expectEqualOptions(options, new AnalysisOptionsImpl()); | 893 _expectEqualOptions(options, new AnalysisOptionsImpl()); |
945 } | 894 } |
946 | 895 |
947 void test_getAnalysisOptions_noDefault_overrides() { | 896 void test_getAnalysisOptions_noDefault_overrides() { |
948 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); | 897 AnalysisOptionsImpl expected = new AnalysisOptionsImpl(); |
949 expected.enableSuperMixins = true; | 898 expected.enableSuperMixins = true; |
950 String path = resourceProvider.convertPath('/some/directory/path'); | 899 String path = resourceProvider.convertPath('/some/directory/path'); |
951 String filePath = | 900 String filePath = |
952 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 901 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
953 resourceProvider.newFile( | 902 resourceProvider.newFile(filePath, ''' |
954 filePath, | |
955 ''' | |
956 analyzer: | 903 analyzer: |
957 language: | 904 language: |
958 enableSuperMixins : true | 905 enableSuperMixins : true |
959 '''); | 906 '''); |
960 | 907 |
961 AnalysisOptions options = builder.getAnalysisOptions(path); | 908 AnalysisOptions options = builder.getAnalysisOptions(path); |
962 _expectEqualOptions(options, expected); | 909 _expectEqualOptions(options, expected); |
963 } | 910 } |
964 | 911 |
965 void test_getAnalysisOptions_optionsPath() { | 912 void test_getAnalysisOptions_optionsPath() { |
966 String path = resourceProvider.convertPath('/some/directory/path'); | 913 String path = resourceProvider.convertPath('/some/directory/path'); |
967 String filePath = | 914 String filePath = |
968 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); | 915 pathContext.join(path, AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE); |
969 resourceProvider.newFile( | 916 resourceProvider.newFile(filePath, ''' |
970 filePath, | |
971 ''' | |
972 linter: | 917 linter: |
973 rules: | 918 rules: |
974 - empty_constructor_bodies | 919 - empty_constructor_bodies |
975 '''); | 920 '''); |
976 | 921 |
977 ContextRoot root = new ContextRoot(path, []); | 922 ContextRoot root = new ContextRoot(path, []); |
978 builder.getAnalysisOptions(path, contextRoot: root); | 923 builder.getAnalysisOptions(path, contextRoot: root); |
979 expect(root.optionsFilePath, equals(filePath)); | 924 expect(root.optionsFilePath, equals(filePath)); |
980 } | 925 } |
981 | 926 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1107 class _MockLintRule implements LintRule { | 1052 class _MockLintRule implements LintRule { |
1108 final String _name; | 1053 final String _name; |
1109 | 1054 |
1110 _MockLintRule(this._name); | 1055 _MockLintRule(this._name); |
1111 | 1056 |
1112 @override | 1057 @override |
1113 String get name => _name; | 1058 String get name => _name; |
1114 | 1059 |
1115 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 1060 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
1116 } | 1061 } |
OLD | NEW |