| 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'; | 11 import 'package:args/args.dart'; |
| 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 13 import 'package:unittest/unittest.dart'; | 13 import 'package:unittest/unittest.dart'; |
| 14 | 14 |
| 15 main() { | 15 main() { |
| 16 group('CommandLineOptions', () { | 16 group('CommandLineOptions', () { |
| 17 group('parse', () { | 17 group('parse', () { |
| 18 test('defaults', () { | 18 test('defaults', () { |
| 19 CommandLineOptions options = | 19 CommandLineOptions options = |
| 20 CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']); | 20 CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']); |
| 21 expect(options, isNotNull); | 21 expect(options, isNotNull); |
| 22 expect(options.buildMode, isFalse); |
| 23 expect(options.buildAnalysisOutput, isNull); |
| 24 expect(options.buildSummaryInputs, isEmpty); |
| 25 expect(options.buildSummaryOnly, isFalse); |
| 26 expect(options.buildSummaryOutput, isNull); |
| 27 expect(options.buildSuppressExitCode, isFalse); |
| 22 expect(options.dartSdkPath, isNotNull); | 28 expect(options.dartSdkPath, isNotNull); |
| 23 expect(options.disableHints, isFalse); | 29 expect(options.disableHints, isFalse); |
| 24 expect(options.lints, isFalse); | 30 expect(options.lints, isFalse); |
| 25 expect(options.displayVersion, isFalse); | 31 expect(options.displayVersion, isFalse); |
| 26 expect(options.enableStrictCallChecks, isFalse); | 32 expect(options.enableStrictCallChecks, isFalse); |
| 27 expect(options.enableSuperMixins, isFalse); | 33 expect(options.enableSuperMixins, isFalse); |
| 28 expect(options.enableConditionalDirectives, isFalse); | 34 expect(options.enableConditionalDirectives, isFalse); |
| 29 expect(options.enableTypeChecks, isFalse); | 35 expect(options.enableTypeChecks, isFalse); |
| 30 expect(options.hintsAreFatal, isFalse); | 36 expect(options.hintsAreFatal, isFalse); |
| 31 expect(options.ignoreUnrecognizedFlags, isFalse); | 37 expect(options.ignoreUnrecognizedFlags, isFalse); |
| 32 expect(options.log, isFalse); | 38 expect(options.log, isFalse); |
| 33 expect(options.machineFormat, isFalse); | 39 expect(options.machineFormat, isFalse); |
| 34 expect(options.packageMode, isFalse); | |
| 35 expect(options.packageRootPath, isNull); | 40 expect(options.packageRootPath, isNull); |
| 36 expect(options.packageSummaryInputs, isEmpty); | |
| 37 expect(options.shouldBatch, isFalse); | 41 expect(options.shouldBatch, isFalse); |
| 38 expect(options.showPackageWarnings, isFalse); | 42 expect(options.showPackageWarnings, isFalse); |
| 39 expect(options.showSdkWarnings, isFalse); | 43 expect(options.showSdkWarnings, isFalse); |
| 40 expect(options.sourceFiles, equals(['foo.dart'])); | 44 expect(options.sourceFiles, equals(['foo.dart'])); |
| 41 expect(options.warningsAreFatal, isFalse); | 45 expect(options.warningsAreFatal, isFalse); |
| 42 expect(options.strongMode, isFalse); | 46 expect(options.strongMode, isFalse); |
| 43 }); | 47 }); |
| 44 | 48 |
| 45 test('batch', () { | 49 test('batch', () { |
| 46 CommandLineOptions options = | 50 CommandLineOptions options = |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 errorSink = savedErrorSink; | 228 errorSink = savedErrorSink; |
| 225 exitCode = savedExitCode; | 229 exitCode = savedExitCode; |
| 226 exitHandler = savedExitHandler; | 230 exitHandler = savedExitHandler; |
| 227 } | 231 } |
| 228 } | 232 } |
| 229 | 233 |
| 230 @reflectiveTest | 234 @reflectiveTest |
| 231 class CommandLineOptionsTest extends AbstractStatusTest { | 235 class CommandLineOptionsTest extends AbstractStatusTest { |
| 232 CommandLineOptions options; | 236 CommandLineOptions options; |
| 233 | 237 |
| 234 test_packageMode() { | 238 test_buildAnalysisOutput() { |
| 235 _parse(['--package-mode', '/path/to/pkg']); | 239 _parse([ |
| 236 expect(options.packageMode, isTrue); | 240 '--build-mode', |
| 237 print(options.packageSummaryInputs); | 241 '--build-analysis-output=//path/to/output.analysis', |
| 242 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 243 ]); |
| 244 expect(options.buildMode, isTrue); |
| 245 expect(options.buildAnalysisOutput, '//path/to/output.analysis'); |
| 238 } | 246 } |
| 239 | 247 |
| 240 test_packageSummaryInput() { | 248 test_buildMode() { |
| 241 _parse([ | 249 _parse(['--build-mode', 'package:p/foo.dart|/path/to/p/lib/foo.dart']); |
| 242 '--package-mode', | 250 expect(options.buildMode, isTrue); |
| 243 '--package-summary-input=aaa,/path/to/aaa.sum', | |
| 244 '--package-summary-input=long.package.bbb,/path/to/bbb.sum', | |
| 245 '/path/to/pkg' | |
| 246 ]); | |
| 247 expect(options.packageMode, isTrue); | |
| 248 Map<String, String> map = options.packageSummaryInputs; | |
| 249 expect(map, hasLength(2)); | |
| 250 expect(map, containsPair('aaa', '/path/to/aaa.sum')); | |
| 251 expect(map, containsPair('long.package.bbb', '/path/to/bbb.sum')); | |
| 252 } | 251 } |
| 253 | 252 |
| 254 test_packageSummaryInput_noComma() { | 253 test_buildSummaryInputs_commaSeparated() { |
| 255 _parse([ | 254 _parse([ |
| 256 '--package-mode', | 255 '--build-mode', |
| 257 '--package-summary-input=noCommaInMapping', | 256 '--build-summary-input=/path/to/aaa.sum,/path/to/bbb.sum', |
| 258 '/path/to/pkg' | 257 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 259 ]); | 258 ]); |
| 260 expect(lastExitHandlerCode, 15); | 259 expect(options.buildMode, isTrue); |
| 261 expect(errorStringBuffer.toString(), contains('--package-summary-input')); | 260 expect( |
| 262 expect(errorStringBuffer.toString(), contains('noCommaInMapping')); | 261 options.buildSummaryInputs, ['/path/to/aaa.sum', '/path/to/bbb.sum']); |
| 263 } | 262 } |
| 264 | 263 |
| 265 test_packageSummaryOutput() { | 264 test_buildSummaryInputs_separateFlags() { |
| 266 _parse([ | 265 _parse([ |
| 267 '--package-mode', | 266 '--build-mode', |
| 268 '--package-summary-output=/path/to/output.sum', | 267 '--build-summary-input=/path/to/aaa.sum', |
| 269 '/path/to/pkg' | 268 '--build-summary-input=/path/to/bbb.sum', |
| 269 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 270 ]); | 270 ]); |
| 271 expect(options.packageMode, isTrue); | 271 expect(options.buildMode, isTrue); |
| 272 expect(options.packageSummaryOutput, '/path/to/output.sum'); | 272 expect( |
| 273 options.buildSummaryInputs, ['/path/to/aaa.sum', '/path/to/bbb.sum']); |
| 274 } |
| 275 |
| 276 test_buildSummaryOnly() { |
| 277 _parse([ |
| 278 '--build-mode', |
| 279 '--build-summary-output=/path/to/aaa.sum', |
| 280 '--build-summary-only', |
| 281 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 282 ]); |
| 283 expect(options.buildMode, isTrue); |
| 284 expect(options.buildSummaryOnly, isTrue); |
| 285 } |
| 286 |
| 287 test_buildSummaryOutput() { |
| 288 _parse([ |
| 289 '--build-mode', |
| 290 '--build-summary-output=//path/to/output.sum', |
| 291 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 292 ]); |
| 293 expect(options.buildMode, isTrue); |
| 294 expect(options.buildSummaryOutput, '//path/to/output.sum'); |
| 295 } |
| 296 |
| 297 test_buildSuppressExitCode() { |
| 298 _parse([ |
| 299 '--build-mode', |
| 300 '--build-suppress-exit-code', |
| 301 'package:p/foo.dart|/path/to/p/lib/foo.dart' |
| 302 ]); |
| 303 expect(options.buildMode, isTrue); |
| 304 expect(options.buildSuppressExitCode, isTrue); |
| 273 } | 305 } |
| 274 | 306 |
| 275 void _parse(List<String> args) { | 307 void _parse(List<String> args) { |
| 276 options = CommandLineOptions.parse(args); | 308 options = CommandLineOptions.parse(args); |
| 277 } | 309 } |
| 278 } | 310 } |
| OLD | NEW |