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

Side by Side Diff: sdk/lib/_internal/pub_generated/test/pub_test.dart

Issue 805393002: Update pub to use the new command runner API in args. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 5 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 pub_tests; 5 library pub_tests;
6 6
7 import 'package:scheduled_test/scheduled_test.dart'; 7 import 'package:scheduled_test/scheduled_test.dart';
8 8
9 import '../lib/src/exit_codes.dart' as exit_codes; 9 import '../lib/src/exit_codes.dart' as exit_codes;
10 import 'test_pub.dart'; 10 import 'test_pub.dart';
11 11
12 final USAGE_STRING = """
13 Pub is a package manager for Dart.
14
15 Usage: pub <command> [arguments]
16
17 Global options:
18 -h, --help Print this usage information.
19 --version Print pub version.
20 --[no-]trace Print debugging information when an error occurs.
21 --verbosity Control output verbosity.
22
23 [all] Show all output including internal tracing messages.
24 [io] Also show IO operations.
25 [normal] Show errors, warnings, and user messages.
26 [solver] Show steps during version resolution.
27
28 -v, --verbose Shortcut for "--verbosity=all".
29
30 Available commands:
31 build Apply transformers to build a package.
32 cache Work with the system cache.
33 deps Print package dependencies.
34 downgrade Downgrade the current package's dependencies to oldest version s.
35 get Get the current package's dependencies.
36 global Work with global packages.
37 help Display help information for Pub.
38 publish Publish the current package to pub.dartlang.org.
39 run Run an executable from a package.
40 serve Run a local web development server.
41 upgrade Upgrade the current package's dependencies to latest versions.
42 uploader Manage uploaders for a package on pub.dartlang.org.
43 version Print pub version.
44
45 Run "pub help [command]" for more information about a command.
46 See http://dartlang.org/tools/pub for detailed documentation.
47 """;
48
49 final VERSION_STRING = '''
50 Pub 0.1.2+3
51 ''';
52
53 main() { 12 main() {
54 initConfig(); 13 initConfig();
55 14
56 integration('running pub with no command displays usage', () { 15 integration('running pub with no command displays usage', () {
57 schedulePub(args: [], output: USAGE_STRING); 16 schedulePub(args: [], output: """
58 }); 17 Pub is a package manager for Dart.
59 18
60 integration('running pub with just --help displays usage', () { 19 Usage: pub <command> [arguments]
61 schedulePub(args: ['--help'], output: USAGE_STRING);
62 });
63 20
64 integration('running pub with just -h displays usage', () { 21 Global options:
65 schedulePub(args: ['-h'], output: USAGE_STRING); 22 -h, --help Print this usage information.
66 }); 23 --version Print pub version.
24 --[no-]trace Print debugging information when an error occurs.
25 --verbosity Control output verbosity.
67 26
68 integration('running pub with --with-prejudice upcases everything', () { 27 [all] Show all output including internal tracing message s.
69 schedulePub(args: ['--with-prejudice'], output: USAGE_STRING.toUpperCase()); 28 [io] Also show IO operations.
70 }); 29 [normal] Show errors, warnings, and user messages.
30 [solver] Show steps during version resolution.
71 31
72 integration('running pub with --help after command shows command usage', () { 32 -v, --verbose Shortcut for "--verbosity=all".
73 schedulePub(args: ['get', '--help'], output: '''
74 Get the current package's dependencies.
75
76 Usage: pub get
77 -h, --help Print usage information for this command.
78 --[no-]offline Use cached packages instead of accessing the net work.
79 -n, --dry-run Report what dependencies would change but don't change any.
80
81 Run "pub help" to see global options.
82 See http://dartlang.org/tools/pub/cmd/pub-get.html for detailed docume ntation.
83 ''');
84 });
85
86 integration('running pub with -h after command shows command usage', () {
87 schedulePub(args: ['get', '-h'], output: '''
88 Get the current package's dependencies.
89
90 Usage: pub get
91 -h, --help Print usage information for this command.
92 --[no-]offline Use cached packages instead of accessing the net work.
93 -n, --dry-run Report what dependencies would change but don't change any.
94
95 Run "pub help" to see global options.
96 See http://dartlang.org/tools/pub/cmd/pub-get.html for detailed docume ntation.
97 ''');
98 });
99
100 integration(
101 'running pub with --help after a command with subcommands shows '
102 'command usage',
103 () {
104 schedulePub(args: ['cache', '--help'], output: '''
105 Work with the system cache.
106
107 Usage: pub cache <subcommand>
108 -h, --help Print usage information for this command.
109
110 Available subcommands:
111 add Install a package.
112 repair Reinstall cached packages.
113
114 Run "pub help" to see global options.
115 See http://dartlang.org/tools/pub/cmd/pub-cache.html for detailed docu mentation.
116 ''');
117 });
118
119
120 integration('running pub with just --version displays version', () {
121 schedulePub(args: ['--version'], output: VERSION_STRING);
122 });
123
124 integration('an unknown command displays an error message', () {
125 schedulePub(args: ['quylthulg'], error: '''
126 Could not find a command named "quylthulg".
127 33
128 Available commands: 34 Available commands:
129 build Apply transformers to build a package. 35 build Apply transformers to build a package.
130 cache Work with the system cache. 36 cache Work with the system cache.
131 deps Print package dependencies. 37 deps Print package dependencies.
132 downgrade Downgrade the current package's dependencies to oldest ver sions. 38 downgrade Downgrade the current package's dependencies to oldest ver sions.
133 get Get the current package's dependencies. 39 get Get the current package's dependencies.
134 global Work with global packages. 40 global Work with global packages.
135 help Display help information for Pub. 41 help Display help information for pub.
136 publish Publish the current package to pub.dartlang.org. 42 publish Publish the current package to pub.dartlang.org.
137 run Run an executable from a package. 43 run Run an executable from a package.
138 serve Run a local web development server. 44 serve Run a local web development server.
139 upgrade Upgrade the current package's dependencies to latest versi ons. 45 upgrade Upgrade the current package's dependencies to latest versi ons.
140 uploader Manage uploaders for a package on pub.dartlang.org. 46 uploader Manage uploaders for a package on pub.dartlang.org.
141 version Print pub version. 47 version Print pub version.
142 ''', exitCode: exit_codes.USAGE); 48
49 Run "pub help <command>" for more information about a command.
50 See http://dartlang.org/tools/pub for detailed documentation.
51 """);
143 }); 52 });
144 53
145 integration('an unknown subcommand displays an error message', () { 54 integration('running pub with just --version displays version', () {
146 schedulePub(args: ['cache', 'quylthulg'], error: ''' 55 schedulePub(args: ['--version'], output: 'Pub 0.1.2+3');
147 Could not find a subcommand named "quylthulg" for "pub cache".
148
149 Usage: pub cache <subcommand>
150 -h, --help Print usage information for this command.
151
152 Available subcommands:
153 add Install a package.
154 repair Reinstall cached packages.
155
156 Run "pub help" to see global options.
157 See http://dartlang.org/tools/pub/cmd/pub-cache.html for detailed docume ntation.
158 ''', exitCode: exit_codes.USAGE);
159 });
160
161 integration('an unknown option displays an error message', () {
162 schedulePub(args: ['--blorf'], error: '''
163 Could not find an option named "blorf".
164 Run "pub help" to see available options.
165 ''', exitCode: exit_codes.USAGE);
166 });
167
168 integration('an unknown command option displays an error message', () {
169 // TODO(rnystrom): When pub has command-specific options, a more precise
170 // error message would be good here.
171 schedulePub(args: ['version', '--blorf'], error: '''
172 Could not find an option named "blorf".
173 Run "pub help" to see available options.
174 ''', exitCode: exit_codes.USAGE);
175 });
176
177 integration('an unexpected argument displays an error message', () {
178 schedulePub(args: ['version', 'unexpected'], error: '''
179 Command "version" does not take any arguments.
180
181 Usage: pub version
182 -h, --help Print usage information for this command.
183
184 Run "pub help" to see global options.
185 ''', exitCode: exit_codes.USAGE);
186 });
187
188 integration('a missing subcommand displays an error message', () {
189 schedulePub(args: ['cache'], error: '''
190 Missing subcommand for "pub cache".
191
192 Usage: pub cache <subcommand>
193 -h, --help Print usage information for this command.
194
195 Available subcommands:
196 add Install a package.
197 repair Reinstall cached packages.
198
199 Run "pub help" to see global options.
200 See http://dartlang.org/tools/pub/cmd/pub-cache.html for detailed docume ntation.
201 ''', exitCode: exit_codes.USAGE);
202 });
203
204 group('help', () {
205 integration('shows global help if no command is given', () {
206 schedulePub(args: ['help'], output: USAGE_STRING);
207 });
208
209 integration('shows help for a command', () {
210 schedulePub(args: ['help', 'get'], output: '''
211 Get the current package's dependencies.
212
213 Usage: pub get
214 -h, --help Print usage information for this command.
215 --[no-]offline Use cached packages instead of accessing the n etwork.
216 -n, --dry-run Report what dependencies would change but don' t change any.
217
218 Run "pub help" to see global options.
219 See http://dartlang.org/tools/pub/cmd/pub-get.html for detailed docu mentation.
220 ''');
221 });
222
223 integration('shows help for a command', () {
224 schedulePub(args: ['help', 'publish'], output: '''
225 Publish the current package to pub.dartlang.org.
226
227 Usage: pub publish [options]
228 -h, --help Print usage information for this command.
229 -n, --dry-run Validate but do not publish the package.
230 -f, --force Publish without confirmation if there are no errors .
231 --server The package server to which to upload this package.
232 (defaults to "https://pub.dartlang.org")
233
234 Run "pub help" to see global options.
235 See http://dartlang.org/tools/pub/cmd/pub-lish.html for detailed doc umentation.
236 ''');
237 });
238
239 integration('shows non-truncated help', () {
240 schedulePub(args: ['help', 'serve'], output: '''
241 Run a local web development server.
242
243 By default, this serves "web/" and "test/", but an explicit list of
244 directories to serve can be provided as well.
245
246 Usage: pub serve [directories...]
247 -h, --help Print usage information for this command.
248 --mode Mode to run transformers in.
249 (defaults to "debug")
250
251 --all Use all default source directories.
252 --hostname The hostname to listen on.
253 (defaults to "localhost")
254
255 --port The base port to listen on.
256 (defaults to "8080")
257
258 --[no-]dart2js Compile Dart to JavaScript.
259 (defaults to on)
260
261 --[no-]force-poll Force the use of a polling filesystem watch er.
262
263 Run "pub help" to see global options.
264 See http://dartlang.org/tools/pub/cmd/pub-serve.html for detailed do cumentation.
265 ''');
266 });
267
268 integration('shows help for a subcommand', () {
269 schedulePub(args: ['help', 'cache', 'list'], output: '''
270 List packages in the system cache.
271
272 Usage: pub cache list
273 -h, --help Print usage information for this command.
274
275 Run "pub help" to see global options.
276 ''');
277 });
278
279 integration('an unknown help command displays an error message', () {
280 schedulePub(args: ['help', 'quylthulg'], error: '''
281 Could not find a command named "quylthulg".
282
283 Available commands:
284 build Apply transformers to build a package.
285 cache Work with the system cache.
286 deps Print package dependencies.
287 downgrade Downgrade the current package's dependencies to oldest versions.
288 get Get the current package's dependencies.
289 global Work with global packages.
290 help Display help information for Pub.
291 publish Publish the current package to pub.dartlang.org.
292 run Run an executable from a package.
293 serve Run a local web development server.
294 upgrade Upgrade the current package's dependencies to latest v ersions.
295 uploader Manage uploaders for a package on pub.dartlang.org.
296 version Print pub version.
297 ''', exitCode: exit_codes.USAGE);
298 });
299
300 integration('an unknown help subcommand displays an error message', () {
301 schedulePub(args: ['help', 'cache', 'quylthulg'], error: '''
302 Could not find a subcommand named "quylthulg" for "pub cache".
303
304 Usage: pub cache <subcommand>
305 -h, --help Print usage information for this command.
306
307 Available subcommands:
308 add Install a package.
309 repair Reinstall cached packages.
310
311 Run "pub help" to see global options.
312 See http://dartlang.org/tools/pub/cmd/pub-cache.html for detailed do cumentation.
313 ''', exitCode: exit_codes.USAGE);
314 });
315
316 integration('an unexpected help subcommand displays an error message', () {
317 schedulePub(args: ['help', 'version', 'badsubcommand'], error: '''
318 Command "pub version" does not expect a subcommand.
319
320 Usage: pub version
321 -h, --help Print usage information for this command.
322
323 Run "pub help" to see global options.
324 ''', exitCode: exit_codes.USAGE);
325 });
326 });
327
328 group('version', () {
329 integration('displays the current version', () {
330 schedulePub(args: ['version'], output: VERSION_STRING);
331 });
332 }); 56 });
333 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698