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 test.source.analysis_options_provider; | 5 library test.source.analysis_options_provider; |
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/analysis_options_provider.dart'; | 8 import 'package:analyzer/source/analysis_options_provider.dart'; |
9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
10 import 'package:yaml/yaml.dart'; | 10 import 'package:yaml/yaml.dart'; |
(...skipping 25 matching lines...) Expand all Loading... |
36 }); | 36 }); |
37 test('test_doesnotexist', () { | 37 test('test_doesnotexist', () { |
38 var optionsProvider = new AnalysisOptionsProvider(); | 38 var optionsProvider = new AnalysisOptionsProvider(); |
39 Map<String, YamlNode> options = | 39 Map<String, YamlNode> options = |
40 optionsProvider.getOptions(resourceProvider.getFolder('/empty')); | 40 optionsProvider.getOptions(resourceProvider.getFolder('/empty')); |
41 expect(options.length, equals(0)); | 41 expect(options.length, equals(0)); |
42 }); | 42 }); |
43 }); | 43 }); |
44 group('AnalysisOptionsProvider', () { | 44 group('AnalysisOptionsProvider', () { |
45 setUp(() { | 45 setUp(() { |
46 buildResourceProvider(true); | 46 buildResourceProvider(emptyAnalysisOptions: true); |
47 }); | 47 }); |
48 tearDown(() { | 48 tearDown(() { |
49 clearResourceProvider(); | 49 clearResourceProvider(); |
50 }); | 50 }); |
51 test('test_empty', () { | 51 test('test_empty', () { |
52 var optionsProvider = new AnalysisOptionsProvider(); | 52 var optionsProvider = new AnalysisOptionsProvider(); |
53 Map<String, YamlNode> options = | 53 Map<String, YamlNode> options = |
54 optionsProvider.getOptions(resourceProvider.getFolder('/')); | 54 optionsProvider.getOptions(resourceProvider.getFolder('/')); |
55 expect(options, isNotNull); | 55 expect(options, isNotNull); |
56 }); | 56 }); |
57 }); | 57 }); |
58 group('AnalysisOptionsProvider', () { | 58 group('AnalysisOptionsProvider', () { |
59 setUp(() { | 59 setUp(() { |
60 buildResourceProvider(false, true); | 60 buildResourceProvider(badAnalysisOptions: true); |
61 }); | 61 }); |
62 tearDown(() { | 62 tearDown(() { |
63 clearResourceProvider(); | 63 clearResourceProvider(); |
64 }); | 64 }); |
65 test('test_invalid', () { | 65 test('test_invalid', () { |
66 var optionsProvider = new AnalysisOptionsProvider(); | 66 var optionsProvider = new AnalysisOptionsProvider(); |
67 bool exceptionCaught = false; | 67 bool exceptionCaught = false; |
68 try { | 68 try { |
69 Map<String, YamlNode> options = | 69 Map<String, YamlNode> options = |
70 optionsProvider.getOptions(resourceProvider.getFolder('/')); | 70 optionsProvider.getOptions(resourceProvider.getFolder('/')); |
71 expect(options, isNotNull); | 71 expect(options, isNotNull); |
72 } catch (e) { | 72 } catch (e) { |
73 exceptionCaught = true; | 73 exceptionCaught = true; |
74 } | 74 } |
75 expect(exceptionCaught, isTrue); | 75 expect(exceptionCaught, isTrue); |
76 }); | 76 }); |
77 }); | 77 }); |
78 } | 78 } |
79 | 79 |
80 MemoryResourceProvider resourceProvider; | 80 MemoryResourceProvider resourceProvider; |
81 | 81 |
82 buildResourceProvider([bool emptyAnalysisOptions = false, | 82 buildResourceProvider({bool emptyAnalysisOptions : false, |
83 bool badAnalysisOptions = false]) { | 83 bool badAnalysisOptions : false}) { |
84 resourceProvider = new MemoryResourceProvider(); | 84 resourceProvider = new MemoryResourceProvider(); |
85 resourceProvider.newFolder('/empty'); | 85 resourceProvider.newFolder('/empty'); |
86 resourceProvider.newFolder('/tmp'); | 86 resourceProvider.newFolder('/tmp'); |
87 if (badAnalysisOptions) { | 87 if (badAnalysisOptions) { |
88 resourceProvider.newFile('/.analysis_options', r''':'''); | 88 resourceProvider.newFile('/.analysis_options', r''':'''); |
89 } else if (emptyAnalysisOptions) { | 89 } else if (emptyAnalysisOptions) { |
90 resourceProvider.newFile('/.analysis_options', r''''''); | 90 resourceProvider.newFile('/.analysis_options', r'''#empty'''); |
91 } else { | 91 } else { |
92 resourceProvider.newFile( | 92 resourceProvider.newFile( |
93 '/.analysis_options', | 93 '/.analysis_options', |
94 r''' | 94 r''' |
95 analyzer: | 95 analyzer: |
96 ignore: | 96 ignore: |
97 - ignoreme.dart | 97 - ignoreme.dart |
98 - 'sdk_ext/**' | 98 - 'sdk_ext/**' |
99 '''); | 99 '''); |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 clearResourceProvider() { | 103 clearResourceProvider() { |
104 resourceProvider = null; | 104 resourceProvider = null; |
105 } | 105 } |
106 | 106 |
107 emptyResourceProvider() { | 107 emptyResourceProvider() { |
108 resourceProvider = new MemoryResourceProvider(); | 108 resourceProvider = new MemoryResourceProvider(); |
109 } | 109 } |
OLD | NEW |