OLD | NEW |
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; | 1 library pub_tests; |
6 | |
7 import '../descriptor.dart' as d; | 2 import '../descriptor.dart' as d; |
8 import '../test_pub.dart'; | 3 import '../test_pub.dart'; |
9 | |
10 main() { | 4 main() { |
11 initConfig(); | 5 initConfig(); |
12 | |
13 forBothPubGetAndUpgrade((command) { | 6 forBothPubGetAndUpgrade((command) { |
14 integration('upgrades a package using the cache', () { | 7 integration('upgrades a package using the cache', () { |
15 // Run the server so that we know what URL to use in the system cache. | |
16 serveNoPackages(); | 8 serveNoPackages(); |
17 | |
18 d.cacheDir({ | 9 d.cacheDir({ |
19 "foo": ["1.2.2", "1.2.3"], | 10 "foo": ["1.2.2", "1.2.3"], |
20 "bar": ["1.2.3"] | 11 "bar": ["1.2.3"] |
21 }, includePubspecs: true).create(); | 12 }, includePubspecs: true).create(); |
22 | |
23 d.appDir({ | 13 d.appDir({ |
24 "foo": "any", | 14 "foo": "any", |
25 "bar": "any" | 15 "bar": "any" |
26 }).create(); | 16 }).create(); |
27 | |
28 var warning = null; | 17 var warning = null; |
29 if (command == RunCommand.upgrade) { | 18 if (command == RunCommand.upgrade) { |
30 warning = "Warning: Upgrading when offline may not update you " | 19 warning = |
31 "to the latest versions of your dependencies."; | 20 "Warning: Upgrading when offline may not update you " |
| 21 "to the latest versions of your dependencies."; |
32 } | 22 } |
33 | |
34 pubCommand(command, args: ['--offline'], warning: warning); | 23 pubCommand(command, args: ['--offline'], warning: warning); |
35 | |
36 d.packagesDir({ | 24 d.packagesDir({ |
37 "foo": "1.2.3", | 25 "foo": "1.2.3", |
38 "bar": "1.2.3" | 26 "bar": "1.2.3" |
39 }).validate(); | 27 }).validate(); |
40 }); | 28 }); |
41 | |
42 integration('fails gracefully if a dependency is not cached', () { | 29 integration('fails gracefully if a dependency is not cached', () { |
43 // Run the server so that we know what URL to use in the system cache. | |
44 serveNoPackages(); | 30 serveNoPackages(); |
45 | 31 d.appDir({ |
46 d.appDir({"foo": "any"}).create(); | 32 "foo": "any" |
47 | 33 }).create(); |
48 pubCommand(command, args: ['--offline'], | 34 pubCommand( |
| 35 command, |
| 36 args: ['--offline'], |
49 error: "Could not find package foo in cache."); | 37 error: "Could not find package foo in cache."); |
50 }); | 38 }); |
51 | |
52 integration('fails gracefully no cached versions match', () { | 39 integration('fails gracefully no cached versions match', () { |
53 // Run the server so that we know what URL to use in the system cache. | |
54 serveNoPackages(); | 40 serveNoPackages(); |
55 | |
56 d.cacheDir({ | 41 d.cacheDir({ |
57 "foo": ["1.2.2", "1.2.3"] | 42 "foo": ["1.2.2", "1.2.3"] |
58 }, includePubspecs: true).create(); | 43 }, includePubspecs: true).create(); |
59 | 44 d.appDir({ |
60 d.appDir({"foo": ">2.0.0"}).create(); | 45 "foo": ">2.0.0" |
61 | 46 }).create(); |
62 pubCommand(command, args: ['--offline'], error: | 47 pubCommand( |
63 "Package foo has no versions that match >2.0.0 derived from:\n" | 48 command, |
64 "- myapp 0.0.0 depends on version >2.0.0"); | 49 args: ['--offline'], |
| 50 error: "Package foo has no versions that match >2.0.0 derived from:\n" |
| 51 "- myapp 0.0.0 depends on version >2.0.0"); |
65 }); | 52 }); |
66 }); | 53 }); |
67 } | 54 } |
OLD | NEW |