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