OLD | NEW |
(Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 library test.source.analysis_options_provider; |
| 6 |
| 7 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 8 import 'package:analyzer/source/analysis_options_provider.dart'; |
| 9 import 'package:unittest/unittest.dart'; |
| 10 import 'package:yaml/yaml.dart'; |
| 11 |
| 12 import '../utils.dart'; |
| 13 |
| 14 main() { |
| 15 initializeTestEnvironment(); |
| 16 group('AnalysisOptionsProvider', () { |
| 17 setUp(() { |
| 18 buildResourceProvider(); |
| 19 }); |
| 20 tearDown(() { |
| 21 clearResourceProvider(); |
| 22 }); |
| 23 test('test_simple', () { |
| 24 var optionsProvider = new AnalysisOptionsProvider(); |
| 25 Map<String, YamlNode> options = |
| 26 optionsProvider.getOptions(resourceProvider.getFolder('/')); |
| 27 expect(options.length, equals(1)); |
| 28 expect(options['analyzer'], isNotNull); |
| 29 YamlMap analyzer = options['analyzer']; |
| 30 expect(analyzer.length, equals(1)); |
| 31 expect(analyzer['ignore'], isNotNull); |
| 32 YamlList ignore = analyzer['ignore']; |
| 33 expect(ignore.length, equals(2)); |
| 34 expect(ignore[0], equals('ignoreme.dart')); |
| 35 expect(ignore[1], equals('sdk_ext/**')); |
| 36 }); |
| 37 test('test_doesnotexist', () { |
| 38 var optionsProvider = new AnalysisOptionsProvider(); |
| 39 Map<String, YamlNode> options = |
| 40 optionsProvider.getOptions(resourceProvider.getFolder('/empty')); |
| 41 expect(options.length, equals(0)); |
| 42 }); |
| 43 }); |
| 44 group('AnalysisOptionsProvider', () { |
| 45 setUp(() { |
| 46 buildResourceProvider(true); |
| 47 }); |
| 48 tearDown(() { |
| 49 clearResourceProvider(); |
| 50 }); |
| 51 test('test_empty', () { |
| 52 var optionsProvider = new AnalysisOptionsProvider(); |
| 53 Map<String, YamlNode> options = |
| 54 optionsProvider.getOptions(resourceProvider.getFolder('/')); |
| 55 expect(options, isNotNull); |
| 56 }); |
| 57 }); |
| 58 group('AnalysisOptionsProvider', () { |
| 59 setUp(() { |
| 60 buildResourceProvider(false, true); |
| 61 }); |
| 62 tearDown(() { |
| 63 clearResourceProvider(); |
| 64 }); |
| 65 test('test_invalid', () { |
| 66 var optionsProvider = new AnalysisOptionsProvider(); |
| 67 bool exceptionCaught = false; |
| 68 try { |
| 69 Map<String, YamlNode> options = |
| 70 optionsProvider.getOptions(resourceProvider.getFolder('/')); |
| 71 expect(options, isNotNull); |
| 72 } catch (e) { |
| 73 exceptionCaught = true; |
| 74 } |
| 75 expect(exceptionCaught, isTrue); |
| 76 }); |
| 77 }); |
| 78 } |
| 79 |
| 80 MemoryResourceProvider resourceProvider; |
| 81 |
| 82 buildResourceProvider([bool emptyAnalysisOptions = false, |
| 83 bool badAnalysisOptions = false]) { |
| 84 resourceProvider = new MemoryResourceProvider(); |
| 85 resourceProvider.newFolder('/empty'); |
| 86 resourceProvider.newFolder('/tmp'); |
| 87 if (badAnalysisOptions) { |
| 88 resourceProvider.newFile('/.analysis_options', r''':'''); |
| 89 } else if (emptyAnalysisOptions) { |
| 90 resourceProvider.newFile('/.analysis_options', r''''''); |
| 91 } else { |
| 92 resourceProvider.newFile( |
| 93 '/.analysis_options', |
| 94 r''' |
| 95 analyzer: |
| 96 ignore: |
| 97 - ignoreme.dart |
| 98 - 'sdk_ext/**' |
| 99 '''); |
| 100 } |
| 101 } |
| 102 |
| 103 clearResourceProvider() { |
| 104 resourceProvider = null; |
| 105 } |
| 106 |
| 107 emptyResourceProvider() { |
| 108 resourceProvider = new MemoryResourceProvider(); |
| 109 } |
OLD | NEW |