Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Side by Side Diff: pkg/analyzer/test/source/analysis_options_provider_test.dart

Issue 1411013003: Analysis Options error notifications. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analyzer/lib/src/plugin/engine_plugin.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/plugin/engine_plugin.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698