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

Side by Side Diff: pkg/analyzer_cli/test/options_test.dart

Issue 1459683003: `analyzer_cli` move to SDK. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: master merge 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_cli/test/mocks.dart ('k') | pkg/analyzer_cli/test/plugin_manager_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 @TestOn("vm")
6 library analyzer_cli.test.options;
7
8 import 'package:analyzer_cli/src/options.dart';
9 import 'package:args/args.dart';
10 import 'package:test/test.dart';
11
12 main() {
13 group('CommandLineOptions', () {
14 group('parse', () {
15 test('defaults', () {
16 CommandLineOptions options =
17 CommandLineOptions.parse(['--dart-sdk', '.', 'foo.dart']);
18 expect(options, isNotNull);
19 expect(options.dartSdkPath, isNotNull);
20 expect(options.disableHints, isFalse);
21 expect(options.lints, isFalse);
22 expect(options.displayVersion, isFalse);
23 expect(options.enableStrictCallChecks, isFalse);
24 expect(options.enableSuperMixins, isFalse);
25 expect(options.enableTypeChecks, isFalse);
26 expect(options.hintsAreFatal, isFalse);
27 expect(options.ignoreUnrecognizedFlags, isFalse);
28 expect(options.log, isFalse);
29 expect(options.machineFormat, isFalse);
30 expect(options.packageRootPath, isNull);
31 expect(options.shouldBatch, isFalse);
32 expect(options.showPackageWarnings, isFalse);
33 expect(options.showSdkWarnings, isFalse);
34 expect(options.sourceFiles, equals(['foo.dart']));
35 expect(options.warningsAreFatal, isFalse);
36 expect(options.strongMode, isFalse);
37 });
38
39 test('batch', () {
40 CommandLineOptions options =
41 CommandLineOptions.parse(['--dart-sdk', '.', '--batch']);
42 expect(options.shouldBatch, isTrue);
43 });
44
45 test('defined variables', () {
46 CommandLineOptions options = CommandLineOptions
47 .parse(['--dart-sdk', '.', '-Dfoo=bar', 'foo.dart']);
48 expect(options.definedVariables['foo'], equals('bar'));
49 expect(options.definedVariables['bar'], isNull);
50 });
51
52 test('enable strict call checks', () {
53 CommandLineOptions options = CommandLineOptions.parse(
54 ['--dart-sdk', '.', '--enable-strict-call-checks', 'foo.dart']);
55 expect(options.enableStrictCallChecks, isTrue);
56 });
57
58 test('enable super mixins', () {
59 CommandLineOptions options = CommandLineOptions
60 .parse(['--dart-sdk', '.', '--supermixin', 'foo.dart']);
61 expect(options.enableSuperMixins, isTrue);
62 });
63
64 test('enable type checks', () {
65 CommandLineOptions options = CommandLineOptions
66 .parse(['--dart-sdk', '.', '--enable_type_checks', 'foo.dart']);
67 expect(options.enableTypeChecks, isTrue);
68 });
69
70 test('hintsAreFatal', () {
71 CommandLineOptions options = CommandLineOptions
72 .parse(['--dart-sdk', '.', '--fatal-hints', 'foo.dart']);
73 expect(options.hintsAreFatal, isTrue);
74 });
75
76 test('log', () {
77 CommandLineOptions options =
78 CommandLineOptions.parse(['--dart-sdk', '.', '--log', 'foo.dart']);
79 expect(options.log, isTrue);
80 });
81
82 test('machine format', () {
83 CommandLineOptions options = CommandLineOptions
84 .parse(['--dart-sdk', '.', '--format=machine', 'foo.dart']);
85 expect(options.machineFormat, isTrue);
86 });
87
88 test('no-hints', () {
89 CommandLineOptions options = CommandLineOptions
90 .parse(['--dart-sdk', '.', '--no-hints', 'foo.dart']);
91 expect(options.disableHints, isTrue);
92 });
93
94 test('options', () {
95 CommandLineOptions options = CommandLineOptions.parse(
96 ['--dart-sdk', '.', '--options', 'options.yaml', 'foo.dart']);
97 expect(options.analysisOptionsFile, equals('options.yaml'));
98 });
99
100 test('lints', () {
101 CommandLineOptions options = CommandLineOptions
102 .parse(['--dart-sdk', '.', '--lints', 'foo.dart']);
103 expect(options.lints, isTrue);
104 });
105
106 test('package root', () {
107 CommandLineOptions options = CommandLineOptions
108 .parse(['--dart-sdk', '.', '-p', 'bar', 'foo.dart']);
109 expect(options.packageRootPath, equals('bar'));
110 });
111
112 test('package warnings', () {
113 CommandLineOptions options = CommandLineOptions
114 .parse(['--dart-sdk', '.', '--package-warnings', 'foo.dart']);
115 expect(options.showPackageWarnings, isTrue);
116 });
117
118 test('sdk warnings', () {
119 CommandLineOptions options = CommandLineOptions
120 .parse(['--dart-sdk', '.', '--warnings', 'foo.dart']);
121 expect(options.showSdkWarnings, isTrue);
122 });
123
124 test('sourceFiles', () {
125 CommandLineOptions options = CommandLineOptions.parse(
126 ['--dart-sdk', '.', '--log', 'foo.dart', 'foo2.dart', 'foo3.dart']);
127 expect(options.sourceFiles,
128 equals(['foo.dart', 'foo2.dart', 'foo3.dart']));
129 });
130
131 test('warningsAreFatal', () {
132 CommandLineOptions options = CommandLineOptions
133 .parse(['--dart-sdk', '.', '--fatal-warnings', 'foo.dart']);
134 expect(options.warningsAreFatal, isTrue);
135 });
136
137 test('notice unrecognized flags', () {
138 expect(
139 () => new CommandLineParser()
140 .parse(['--bar', '--baz', 'foo.dart'], {}),
141 throwsA(new isInstanceOf<FormatException>()));
142 });
143
144 test('ignore unrecognized flags', () {
145 CommandLineOptions options = CommandLineOptions.parse([
146 '--ignore-unrecognized-flags',
147 '--bar',
148 '--baz',
149 '--dart-sdk',
150 '.',
151 'foo.dart'
152 ]);
153 expect(options, isNotNull);
154 expect(options.sourceFiles, equals(['foo.dart']));
155 });
156
157 test('ignore unrecognized options', () {
158 CommandLineParser parser =
159 new CommandLineParser(alwaysIgnoreUnrecognized: true);
160 parser.addOption('optionA');
161 parser.addFlag('flagA');
162 ArgResults argResults =
163 parser.parse(['--optionA=1', '--optionB=2', '--flagA'], {});
164 expect(argResults['optionA'], '1');
165 expect(argResults['flagA'], isTrue);
166 });
167
168 test('strong mode', () {
169 CommandLineOptions options = CommandLineOptions
170 .parse(['--strong', 'foo.dart']);
171 expect(options.strongMode, isTrue);
172 });
173
174 test("can't specify package and package-root", () {
175 var failureMessage;
176 CommandLineOptions.parse(
177 ['--package-root', '.', '--packages', '.', 'foo.dart'],
178 (msg) => failureMessage = msg);
179 expect(failureMessage,
180 equals("Cannot specify both '--package-root' and '--packages."));
181 });
182
183 test("bad SDK dir", () {
184 var failureMessage;
185 CommandLineOptions.parse(
186 ['--dart-sdk', '&&&&&', 'foo.dart'], (msg) => failureMessage = msg);
187 expect(failureMessage, equals('Invalid Dart SDK path: &&&&&'));
188 });
189 });
190 });
191 }
OLDNEW
« no previous file with comments | « pkg/analyzer_cli/test/mocks.dart ('k') | pkg/analyzer_cli/test/plugin_manager_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698