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 test.context.directory.manager; | 5 library test.context.directory.manager; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 import 'dart:io' as io; | 8 import 'dart:io' as io; |
9 | 9 |
10 import 'package:analysis_server/src/context_manager.dart'; | 10 import 'package:analysis_server/src/context_manager.dart'; |
(...skipping 2317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2328 # errors: | 2328 # errors: |
2329 # unused_local_variable: ignore | 2329 # unused_local_variable: ignore |
2330 '''); | 2330 '''); |
2331 // Setup context. | 2331 // Setup context. |
2332 manager.setRoots(<String>[projPath], <String>[], <String, String>{}); | 2332 manager.setRoots(<String>[projPath], <String>[], <String, String>{}); |
2333 | 2333 |
2334 // Verify filter setup. | 2334 // Verify filter setup. |
2335 expect(errorProcessors, isEmpty); | 2335 expect(errorProcessors, isEmpty); |
2336 } | 2336 } |
2337 | 2337 |
| 2338 test_optionsFile_update_strongMode() async { |
| 2339 var file = resourceProvider.newFile( |
| 2340 '$projPath/bin/test.dart', |
| 2341 r''' |
| 2342 main() { |
| 2343 var paths = <int>[]; |
| 2344 var names = <String>[]; |
| 2345 paths.addAll(names.map((s) => s.length)); |
| 2346 } |
| 2347 '''); |
| 2348 resourceProvider.newFile( |
| 2349 '$projPath/$optionsFileName', |
| 2350 r''' |
| 2351 analyzer: |
| 2352 strong-mode: false |
| 2353 '''); |
| 2354 // Create the context. |
| 2355 manager.setRoots(<String>[projPath], <String>[], <String, String>{}); |
| 2356 await pumpEventQueue(); |
| 2357 |
| 2358 AnalysisContext context = manager.getContextFor(projPath); |
| 2359 Source testSource = context.getSourcesWithFullName(file.path).single; |
| 2360 |
| 2361 // Not strong mode - both in the context and the SDK context. |
| 2362 { |
| 2363 AnalysisContext sdkContext = context.sourceFactory.dartSdk.context; |
| 2364 expect(context.analysisOptions.strongMode, isFalse); |
| 2365 expect(sdkContext.analysisOptions.strongMode, isFalse); |
| 2366 expect(context.computeErrors(testSource), isEmpty); |
| 2367 } |
| 2368 |
| 2369 // Update the options file - turn on 'strong-mode'. |
| 2370 resourceProvider.updateFile( |
| 2371 '$projPath/$optionsFileName', |
| 2372 r''' |
| 2373 analyzer: |
| 2374 strong-mode: true |
| 2375 '''); |
| 2376 await pumpEventQueue(); |
| 2377 |
| 2378 // Strong mode - both in the context and the SDK context. |
| 2379 { |
| 2380 AnalysisContext context = manager.getContextFor(projPath); |
| 2381 AnalysisContext sdkContext = context.sourceFactory.dartSdk.context; |
| 2382 expect(context.analysisOptions.strongMode, isTrue); |
| 2383 expect(sdkContext.analysisOptions.strongMode, isTrue); |
| 2384 // The code is strong-mode clean. |
| 2385 // Verify that TypeSystem was reset. |
| 2386 expect(context.computeErrors(testSource), isEmpty); |
| 2387 } |
| 2388 } |
| 2389 |
2338 test_path_filter_analysis_option() async { | 2390 test_path_filter_analysis_option() async { |
2339 // Create files. | 2391 // Create files. |
2340 String libPath = newFolder([projPath, ContextManagerTest.LIB_NAME]); | 2392 String libPath = newFolder([projPath, ContextManagerTest.LIB_NAME]); |
2341 newFile([libPath, 'main.dart']); | 2393 newFile([libPath, 'main.dart']); |
2342 newFile([libPath, 'nope.dart']); | 2394 newFile([libPath, 'nope.dart']); |
2343 String sdkExtPath = newFolder([projPath, 'sdk_ext']); | 2395 String sdkExtPath = newFolder([projPath, 'sdk_ext']); |
2344 newFile([sdkExtPath, 'entry.dart']); | 2396 newFile([sdkExtPath, 'entry.dart']); |
2345 String sdkExtSrcPath = newFolder([projPath, 'sdk_ext', 'src']); | 2397 String sdkExtSrcPath = newFolder([projPath, 'sdk_ext', 'src']); |
2346 newFile([sdkExtSrcPath, 'part.dart']); | 2398 newFile([sdkExtSrcPath, 'part.dart']); |
2347 // Setup analysis options file with ignore list. | 2399 // Setup analysis options file with ignore list. |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2714 class TestUriResolver extends UriResolver { | 2766 class TestUriResolver extends UriResolver { |
2715 Map<Uri, Source> uriMap; | 2767 Map<Uri, Source> uriMap; |
2716 | 2768 |
2717 TestUriResolver(this.uriMap); | 2769 TestUriResolver(this.uriMap); |
2718 | 2770 |
2719 @override | 2771 @override |
2720 Source resolveAbsolute(Uri uri, [Uri actualUri]) { | 2772 Source resolveAbsolute(Uri uri, [Uri actualUri]) { |
2721 return uriMap[uri]; | 2773 return uriMap[uri]; |
2722 } | 2774 } |
2723 } | 2775 } |
OLD | NEW |