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

Side by Side Diff: utils/tests/pub/pub_test.dart

Issue 14297021: Move pub into sdk/lib/_internal. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Disallow package: imports of pub. Created 7 years, 8 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
« no previous file with comments | « utils/tests/pub/pub_cache_test.dart ('k') | utils/tests/pub/pub_uploader_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) 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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library pub_tests;
6
7 import 'dart:io';
8
9 import 'package:scheduled_test/scheduled_test.dart';
10
11 import 'descriptor.dart' as d;
12 import 'test_pub.dart';
13
14 final USAGE_STRING = """
15 Pub is a package manager for Dart.
16
17 Usage: pub command [arguments]
18
19 Global options:
20 -h, --help Print this usage information.
21 --version Print pub version.
22 --[no-]trace Print debugging information when an error occurs.
23 --verbosity Control output verbosity.
24
25 [all] Show all output including internal tracing messages.
26 [io] Also show IO operations.
27 [normal] Show errors, warnings, and user messages.
28 [solver] Show steps during version resolution.
29
30 -v, --verbose Shortcut for "--verbosity=all"
31
32 Available commands:
33 cache Inspect the system cache.
34 help Display help information for Pub.
35 install Install the current package's dependencies.
36 publish Publish the current package to pub.dartlang.org.
37 update Update the current package's dependencies to the latest version s.
38 uploader Manage uploaders for a package on pub.dartlang.org.
39 version Print pub version.
40
41 Use "pub help [command]" for more information about a command.
42 """;
43
44 final VERSION_STRING = '''
45 Pub 0.1.2+3
46 ''';
47
48 main() {
49 initConfig();
50
51 integration('running pub with no command displays usage', () {
52 schedulePub(args: [], output: USAGE_STRING);
53 });
54
55 integration('running pub with just --help displays usage', () {
56 schedulePub(args: ['--help'], output: USAGE_STRING);
57 });
58
59 integration('running pub with just -h displays usage', () {
60 schedulePub(args: ['-h'], output: USAGE_STRING);
61 });
62
63 integration('running pub with just --version displays version', () {
64 schedulePub(args: ['--version'], output: VERSION_STRING);
65 });
66
67 integration('an unknown command displays an error message', () {
68 schedulePub(args: ['quylthulg'],
69 error: '''
70 Could not find a command named "quylthulg".
71 Run "pub help" to see available commands.
72 ''',
73 exitCode: 64);
74 });
75
76 integration('an unknown option displays an error message', () {
77 schedulePub(args: ['--blorf'],
78 error: '''
79 Could not find an option named "blorf".
80 Run "pub help" to see available options.
81 ''',
82 exitCode: 64);
83 });
84
85 integration('an unknown command option displays an error message', () {
86 // TODO(rnystrom): When pub has command-specific options, a more precise
87 // error message would be good here.
88 schedulePub(args: ['version', '--blorf'],
89 error: '''
90 Could not find an option named "blorf".
91 Use "pub help" for more information.
92 ''',
93 exitCode: 64);
94 });
95
96 group('help', () {
97 integration('shows help for a command', () {
98 schedulePub(args: ['help', 'install'],
99 output: '''
100 Install the current package's dependencies.
101
102 Usage: pub install
103 ''');
104 });
105
106 integration('shows help for a command', () {
107 schedulePub(args: ['help', 'publish'],
108 output: '''
109 Publish the current package to pub.dartlang.org.
110
111 Usage: pub publish [options]
112 -n, --dry-run Validate but do not publish the package
113 -f, --force Publish without confirmation if there are no errors
114 --server The package server to which to upload this package
115 (defaults to "https://pub.dartlang.org")
116 ''');
117 });
118
119 integration('an unknown help command displays an error message', () {
120 schedulePub(args: ['help', 'quylthulg'],
121 error: '''
122 Could not find a command named "quylthulg".
123 Run "pub help" to see available commands.
124 ''',
125 exitCode: 64);
126 });
127
128 });
129
130 group('version', () {
131 integration('displays the current version', () {
132 schedulePub(args: ['version'], output: VERSION_STRING);
133 });
134
135 integration('parses a release-style version', () {
136 d.dir(sdkPath, [
137 d.file('version', '0.1.2.0_r17645'),
138 ]).create();
139
140 schedulePub(args: ['version'], output: "Pub 0.1.2+0.r17645\n");
141 });
142
143 integration('parses a dev-only style version', () {
144 // The "version" file generated on developer builds is a little funky and
145 // we need to make sure we don't choke on it.
146 d.dir(sdkPath, [
147 d.file('version', '0.1.2.0_r16279_bobross'),
148 ]).create();
149
150 schedulePub(args: ['version'], output: "Pub 0.1.2+0.r16279.bobross\n");
151 });
152 });
153 }
OLDNEW
« no previous file with comments | « utils/tests/pub/pub_cache_test.dart ('k') | utils/tests/pub/pub_uploader_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698