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 analyzer_cli.test.options; | 5 library analyzer_cli.test.options; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 | 8 |
9 import 'package:analyzer_cli/src/driver.dart'; | 9 import 'package:analyzer_cli/src/driver.dart'; |
10 import 'package:analyzer_cli/src/options.dart'; | 10 import 'package:analyzer_cli/src/options.dart'; |
11 import 'package:args/args.dart'; | |
12 import 'package:test/test.dart'; | 11 import 'package:test/test.dart'; |
13 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
14 | 13 |
15 main() { | 14 main() { |
16 group('CommandLineOptions', () { | 15 group('CommandLineOptions', () { |
17 group('parse', () { | 16 group('parse', () { |
18 test('defaults', () { | 17 test('defaults', () { |
19 CommandLineOptions options = | 18 CommandLineOptions options = |
20 CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']); | 19 CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']); |
21 expect(options, isNotNull); | 20 expect(options, isNotNull); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 expect(options.sourceFiles, | 144 expect(options.sourceFiles, |
146 equals(['foo.dart', 'foo2.dart', 'foo3.dart'])); | 145 equals(['foo.dart', 'foo2.dart', 'foo3.dart'])); |
147 }); | 146 }); |
148 | 147 |
149 test('warningsAreFatal', () { | 148 test('warningsAreFatal', () { |
150 CommandLineOptions options = CommandLineOptions | 149 CommandLineOptions options = CommandLineOptions |
151 .parse(['--dart-sdk', '.', '--fatal-warnings', 'foo.dart']); | 150 .parse(['--dart-sdk', '.', '--fatal-warnings', 'foo.dart']); |
152 expect(options.warningsAreFatal, isTrue); | 151 expect(options.warningsAreFatal, isTrue); |
153 }); | 152 }); |
154 | 153 |
155 test('notice unrecognized flags', () { | |
156 expect( | |
157 () => new CommandLineParser().parse(['--bar', '--baz', 'foo.dart']), | |
158 throwsA(new isInstanceOf<FormatException>())); | |
159 }); | |
160 | |
161 test('ignore unrecognized flags', () { | 154 test('ignore unrecognized flags', () { |
162 CommandLineOptions options = CommandLineOptions.parse([ | 155 CommandLineOptions options = CommandLineOptions.parse([ |
163 '--ignore-unrecognized-flags', | 156 '--ignore-unrecognized-flags', |
164 '--bar', | 157 '--bar', |
165 '--baz', | 158 '--baz', |
166 '--dart-sdk', | 159 '--dart-sdk', |
167 '.', | 160 '.', |
168 'foo.dart' | 161 'foo.dart' |
169 ]); | 162 ]); |
170 expect(options, isNotNull); | 163 expect(options, isNotNull); |
171 expect(options.sourceFiles, equals(['foo.dart'])); | 164 expect(options.sourceFiles, equals(['foo.dart'])); |
172 }); | 165 }); |
173 | 166 |
174 test('ignore unrecognized options', () { | |
175 CommandLineParser parser = | |
176 new CommandLineParser(alwaysIgnoreUnrecognized: true); | |
177 parser.addOption('optionA'); | |
178 parser.addFlag('flagA'); | |
179 ArgResults argResults = | |
180 parser.parse(['--optionA=1', '--optionB=2', '--flagA']); | |
181 expect(argResults['optionA'], '1'); | |
182 expect(argResults['flagA'], isTrue); | |
183 }); | |
184 | |
185 test('strong mode', () { | 167 test('strong mode', () { |
186 CommandLineOptions options = | 168 CommandLineOptions options = |
187 CommandLineOptions.parse(['--strong', 'foo.dart']); | 169 CommandLineOptions.parse(['--strong', 'foo.dart']); |
188 expect(options.strongMode, isTrue); | 170 expect(options.strongMode, isTrue); |
189 }); | 171 }); |
190 | 172 |
191 test('hintsAreFatal', () { | 173 test('hintsAreFatal', () { |
192 CommandLineOptions options = CommandLineOptions | 174 CommandLineOptions options = CommandLineOptions |
193 .parse(['--dart-sdk', '.', '--fatal-lints', 'foo.dart']); | 175 .parse(['--dart-sdk', '.', '--fatal-lints', 'foo.dart']); |
194 expect(options.lintsAreFatal, isTrue); | 176 expect(options.lintsAreFatal, isTrue); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 'package:p/foo.dart|/path/to/p/lib/foo.dart' | 333 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
352 ]); | 334 ]); |
353 expect(options.buildMode, isTrue); | 335 expect(options.buildMode, isTrue); |
354 expect(options.buildSuppressExitCode, isTrue); | 336 expect(options.buildSuppressExitCode, isTrue); |
355 } | 337 } |
356 | 338 |
357 void _parse(List<String> args) { | 339 void _parse(List<String> args) { |
358 options = CommandLineOptions.parse(args); | 340 options = CommandLineOptions.parse(args); |
359 } | 341 } |
360 } | 342 } |
OLD | NEW |