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

Side by Side Diff: pkg/args/test/utils.dart

Issue 797473002: Add a CommandRunner class for dispatching commands to args. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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 | Annotate | Revision Log
« pkg/args/lib/src/utils.dart ('K') | « pkg/args/test/command_test.dart ('k') | no next file » | 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 utils; 5 library utils;
6 6
7 import 'dart:async';
8
7 import 'package:unittest/unittest.dart'; 9 import 'package:unittest/unittest.dart';
8 import 'package:args/args.dart'; 10 import 'package:args/args.dart';
9 11
12 class FooCommand extends Command {
13 var hasRun = false;
14
15 final name = "foo";
16 final description = "Set a value.";
17 final takesArguments = false;
18
19 FooCommand();
Bob Nystrom 2014/12/11 20:25:31 Are these constructors needed?
nweiz 2014/12/11 23:55:24 Nope, removed.
20
21 void run() {
22 hasRun = true;
23 }
24 }
25
26 class HiddenCommand extends Command {
27 var hasRun = false;
28
29 final name = "hidden";
30 final description = "Set a value.";
31 final hidden = true;
32 final takesArguments = false;
33
34 HiddenCommand();
35
36 void run() {
37 hasRun = true;
38 }
39 }
40
41 class AliasedCommand extends Command {
42 var hasRun = false;
43
44 final name = "aliased";
45 final description = "Set a value.";
46 final takesArguments = false;
47 final aliases = const ["alias", "als"];
48
49 AliasedCommand();
50
51 void run() {
52 hasRun = true;
53 }
54 }
55
56 class AsyncCommand extends Command {
57 var hasRun = false;
58
59 final name = "async";
60 final description = "Set a value asynchronously.";
61 final takesArguments = false;
62
63 AsyncCommand();
64
65 Future run() => new Future.value().then((_) => hasRun = true);
66 }
67
10 void throwsIllegalArg(function, {String reason: null}) { 68 void throwsIllegalArg(function, {String reason: null}) {
11 expect(function, throwsArgumentError, reason: reason); 69 expect(function, throwsArgumentError, reason: reason);
12 } 70 }
13 71
14 void throwsFormat(ArgParser parser, List<String> args) { 72 void throwsFormat(ArgParser parser, List<String> args) {
15 expect(() => parser.parse(args), throwsFormatException); 73 expect(() => parser.parse(args), throwsFormatException);
16 } 74 }
75
76 Matcher throwsUsageError(message, usage) {
77 return throwsA(predicate((error) {
78 expect(error, new isInstanceOf<UsageError>());
79 expect(error.message, message);
80 expect(error.usage, usage);
81 return true;
82 }));
83 }
OLDNEW
« pkg/args/lib/src/utils.dart ('K') | « pkg/args/test/command_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698