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

Side by Side Diff: test/command_runner_test.dart

Issue 1985883002: UsageException isn't called UsageError. (Closed) Base URL: git@github.com:dart-lang/args@master
Patch Set: Created 4 years, 7 months 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 | « pubspec.yaml ('k') | test/command_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
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 import 'package:args/command_runner.dart'; 5 import 'package:args/command_runner.dart';
6 import 'package:test/test.dart'; 6 import 'package:test/test.dart';
7 7
8 import 'utils.dart'; 8 import 'utils.dart';
9 9
10 const _DEFAULT_USAGE = """ 10 const _DEFAULT_USAGE = """
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 Available commands: 132 Available commands:
133 aliased Set a value. 133 aliased Set a value.
134 help Display help information for test. 134 help Display help information for test.
135 135
136 Run "test help <command>" for more information about a command.""")); 136 Run "test help <command>" for more information about a command."""));
137 }); 137 });
138 }); 138 });
139 139
140 test("usageException splits up the message and usage", () { 140 test("usageException splits up the message and usage", () {
141 expect(() => runner.usageException("message"), 141 expect(() => runner.usageException("message"),
142 throwsUsageError("message", _DEFAULT_USAGE)); 142 throwsUsageException("message", _DEFAULT_USAGE));
143 }); 143 });
144 144
145 group("run()", () { 145 group("run()", () {
146 test("runs a command", () { 146 test("runs a command", () {
147 var command = new FooCommand(); 147 var command = new FooCommand();
148 runner.addCommand(command); 148 runner.addCommand(command);
149 149
150 expect(runner.run(["foo"]).then((_) { 150 expect(runner.run(["foo"]).then((_) {
151 expect(command.hasRun, isTrue); 151 expect(command.hasRun, isTrue);
152 }), completes); 152 }), completes);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 255
256 test("includes the footer in the usage string", () { 256 test("includes the footer in the usage string", () {
257 expect(runner.usage, equals(""" 257 expect(runner.usage, equals("""
258 A test command runner. 258 A test command runner.
259 259
260 $_DEFAULT_USAGE 260 $_DEFAULT_USAGE
261 Also, footer!""")); 261 Also, footer!"""));
262 }); 262 });
263 263
264 test("includes the footer in usage errors", () { 264 test("includes the footer in usage errors", () {
265 expect(runner.run(["--bad"]), throwsUsageError( 265 expect(runner.run(["--bad"]), throwsUsageException(
266 'Could not find an option named "bad".', 266 'Could not find an option named "bad".',
267 "$_DEFAULT_USAGE\nAlso, footer!")); 267 "$_DEFAULT_USAGE\nAlso, footer!"));
268 }); 268 });
269 }); 269 });
270 270
271 group("throws a useful error when", () { 271 group("throws a useful error when", () {
272 test("arg parsing fails", () { 272 test("arg parsing fails", () {
273 expect(runner.run(["--bad"]), throwsUsageError( 273 expect(runner.run(["--bad"]), throwsUsageException(
274 'Could not find an option named "bad".', _DEFAULT_USAGE)); 274 'Could not find an option named "bad".', _DEFAULT_USAGE));
275 }); 275 });
276 276
277 test("a top-level command doesn't exist", () { 277 test("a top-level command doesn't exist", () {
278 expect(runner.run(["bad"]), throwsUsageError( 278 expect(runner.run(["bad"]), throwsUsageException(
279 'Could not find a command named "bad".', _DEFAULT_USAGE)); 279 'Could not find a command named "bad".', _DEFAULT_USAGE));
280 }); 280 });
281 281
282 test("a subcommand doesn't exist", () { 282 test("a subcommand doesn't exist", () {
283 runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand())); 283 runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand()));
284 284
285 expect(runner.run(["foo bad"]), throwsUsageError( 285 expect(runner.run(["foo bad"]), throwsUsageException(
286 'Could not find a command named "foo bad".', """ 286 'Could not find a command named "foo bad".', """
287 Usage: test <command> [arguments] 287 Usage: test <command> [arguments]
288 288
289 Global options: 289 Global options:
290 -h, --help Print this usage information. 290 -h, --help Print this usage information.
291 291
292 Available commands: 292 Available commands:
293 foo Set a value. 293 foo Set a value.
294 help Display help information for test. 294 help Display help information for test.
295 295
296 Run "test help <command>" for more information about a command.""")); 296 Run "test help <command>" for more information about a command."""));
297 }); 297 });
298 298
299 test("a subcommand wasn't passed", () { 299 test("a subcommand wasn't passed", () {
300 runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand())); 300 runner.addCommand(new FooCommand()..addSubcommand(new AsyncCommand()));
301 301
302 expect(runner.run(["foo"]), throwsUsageError( 302 expect(runner.run(["foo"]), throwsUsageException(
303 'Missing subcommand for "test foo".', """ 303 'Missing subcommand for "test foo".', """
304 Usage: test foo <subcommand> [arguments] 304 Usage: test foo <subcommand> [arguments]
305 -h, --help Print this usage information. 305 -h, --help Print this usage information.
306 306
307 Available subcommands: 307 Available subcommands:
308 async Set a value asynchronously. 308 async Set a value asynchronously.
309 309
310 Run "test help" to see global options.""")); 310 Run "test help" to see global options."""));
311 }); 311 });
312 312
313 test("a command that doesn't take arguments was given them", () { 313 test("a command that doesn't take arguments was given them", () {
314 runner.addCommand(new FooCommand()); 314 runner.addCommand(new FooCommand());
315 315
316 expect(runner.run(["foo", "bar"]), throwsUsageError( 316 expect(runner.run(["foo", "bar"]), throwsUsageException(
317 'Command "foo" does not take any arguments.', """ 317 'Command "foo" does not take any arguments.', """
318 Usage: test foo [arguments] 318 Usage: test foo [arguments]
319 -h, --help Print this usage information. 319 -h, --help Print this usage information.
320 320
321 Run "test help" to see global options.""")); 321 Run "test help" to see global options."""));
322 }); 322 });
323 }); 323 });
324 } 324 }
OLDNEW
« no previous file with comments | « pubspec.yaml ('k') | test/command_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698