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