| Index: pkg/analyzer_cli/test/options_test.dart
|
| diff --git a/pkg/analyzer_cli/test/options_test.dart b/pkg/analyzer_cli/test/options_test.dart
|
| index e8a22ecc7de24da4a4ae6a7b721b3ba67a18c7d0..2a5b1758f571cd06d28b49303cf91d741456889c 100644
|
| --- a/pkg/analyzer_cli/test/options_test.dart
|
| +++ b/pkg/analyzer_cli/test/options_test.dart
|
| @@ -9,11 +9,39 @@ import 'dart:io';
|
| import 'package:analyzer_cli/src/driver.dart';
|
| import 'package:analyzer_cli/src/options.dart';
|
| import 'package:test/test.dart';
|
| +import 'package:usage/usage.dart';
|
| import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
| main() {
|
| group('CommandLineOptions', () {
|
| group('parse', () {
|
| + int lastExitHandlerCode;
|
| + StringBuffer outStringBuffer = new StringBuffer();
|
| + StringBuffer errorStringBuffer = new StringBuffer();
|
| +
|
| + StringSink savedOutSink, savedErrorSink;
|
| + int savedExitCode;
|
| + ExitHandler savedExitHandler;
|
| +
|
| + setUp(() {
|
| + savedOutSink = outSink;
|
| + savedErrorSink = errorSink;
|
| + savedExitHandler = exitHandler;
|
| + savedExitCode = exitCode;
|
| + exitHandler = (int code) {
|
| + lastExitHandlerCode = code;
|
| + };
|
| + outSink = outStringBuffer;
|
| + errorSink = errorStringBuffer;
|
| + });
|
| +
|
| + tearDown(() {
|
| + outSink = savedOutSink;
|
| + errorSink = savedErrorSink;
|
| + exitCode = savedExitCode;
|
| + exitHandler = savedExitHandler;
|
| + });
|
| +
|
| test('defaults', () {
|
| CommandLineOptions options =
|
| CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']);
|
| @@ -41,7 +69,7 @@ main() {
|
| expect(options.log, isFalse);
|
| expect(options.machineFormat, isFalse);
|
| expect(options.packageRootPath, isNull);
|
| - expect(options.shouldBatch, isFalse);
|
| + expect(options.batchMode, isFalse);
|
| expect(options.showPackageWarnings, isFalse);
|
| expect(options.showSdkWarnings, isFalse);
|
| expect(options.sourceFiles, equals(['foo.dart']));
|
| @@ -53,7 +81,7 @@ main() {
|
| test('batch', () {
|
| CommandLineOptions options =
|
| CommandLineOptions.parse(['--dart-sdk', '.', '--batch']);
|
| - expect(options.shouldBatch, isTrue);
|
| + expect(options.batchMode, isTrue);
|
| });
|
|
|
| test('defined variables', () {
|
| @@ -195,17 +223,35 @@ main() {
|
| var failureMessage;
|
| CommandLineOptions.parse(
|
| ['--package-root', '.', '--packages', '.', 'foo.dart'],
|
| - (msg) => failureMessage = msg);
|
| + printAndFail: (msg) => failureMessage = msg);
|
| expect(failureMessage,
|
| equals("Cannot specify both '--package-root' and '--packages."));
|
| });
|
|
|
| test("bad SDK dir", () {
|
| var failureMessage;
|
| - CommandLineOptions.parse(
|
| - ['--dart-sdk', '&&&&&', 'foo.dart'], (msg) => failureMessage = msg);
|
| + CommandLineOptions.parse(['--dart-sdk', '&&&&&', 'foo.dart'],
|
| + printAndFail: (msg) => failureMessage = msg);
|
| expect(failureMessage, equals('Invalid Dart SDK path: &&&&&'));
|
| });
|
| +
|
| + test('--analytics', () {
|
| + AnalyticsMock mock = new AnalyticsMock()..enabled = false;
|
| + setAnalytics(mock);
|
| + CommandLineOptions.parse(['--analytics']);
|
| + expect(mock.enabled, true);
|
| + expect(lastExitHandlerCode, 0);
|
| + expect(outStringBuffer.toString(), contains('Analytics are currently'));
|
| + });
|
| +
|
| + test('--no-analytics', () {
|
| + AnalyticsMock mock = new AnalyticsMock()..enabled = false;
|
| + setAnalytics(mock);
|
| + CommandLineOptions.parse(['--no-analytics']);
|
| + expect(mock.enabled, false);
|
| + expect(lastExitHandlerCode, 0);
|
| + expect(outStringBuffer.toString(), contains('Analytics are currently'));
|
| + });
|
| });
|
| });
|
| defineReflectiveTests(CommandLineOptionsTest);
|
|
|