| 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('test_pub.dart'); | 9 #import('test_pub.dart'); |
| 10 #import('../../../pkg/unittest/unittest.dart'); | 10 #import('../../../pkg/unittest/unittest.dart'); |
| 11 | 11 |
| 12 main() { | 12 main() { |
| 13 test('checks out a package from a pub server', () { | 13 test('checks out a package from a pub server', () { |
| 14 servePackages([package("foo", "1.2.3")]); | 14 servePackages([package("foo", "1.2.3")]); |
| 15 | 15 |
| 16 appDir([dependency("foo", "1.2.3")]).scheduleCreate(); | 16 appDir([dependency("foo", "1.2.3")]).scheduleCreate(); |
| 17 | 17 |
| 18 schedulePub(args: ['install'], | 18 schedulePub(args: ['install'], |
| 19 output: const RegExp("Dependencies installed!\$")); | 19 output: const RegExp("Dependencies installed!\$")); |
| 20 | 20 |
| 21 cacheDir({"foo": "1.2.3"}).scheduleValidate(); | 21 cacheDir({"foo": "1.2.3"}).scheduleValidate(); |
| 22 packagesDir({"foo": "1.2.3"}).scheduleValidate(); | 22 packagesDir({"foo": "1.2.3"}).scheduleValidate(); |
| 23 | 23 |
| 24 run(); | 24 run(); |
| 25 }); | 25 }); |
| 26 | 26 |
| 27 test('fails gracefully if the url does not resolve', () { |
| 28 dir(appPath, [ |
| 29 pubspec({ |
| 30 "name": "myapp", |
| 31 "dependencies": { |
| 32 "foo": { |
| 33 "hosted": { |
| 34 "name": "foo", |
| 35 "url": "http://pub.invalid" |
| 36 } |
| 37 } |
| 38 } |
| 39 }) |
| 40 ]).scheduleCreate(); |
| 41 |
| 42 schedulePub(args: ['install'], |
| 43 error: const RegExp('Could not resolve URL "http://pub.invalid".')); |
| 44 |
| 45 run(); |
| 46 }); |
| 47 |
| 48 test('fails gracefully if the package does not exist', () { |
| 49 servePackages([]); |
| 50 |
| 51 appDir([dependency("foo", "1.2.3")]).scheduleCreate(); |
| 52 |
| 53 schedulePub(args: ['install'], |
| 54 error: const RegExp('Could not find package "foo" on ' |
| 55 'http://localhost:')); |
| 56 |
| 57 run(); |
| 58 }); |
| 59 |
| 27 test('checks out packages transitively from a pub server', () { | 60 test('checks out packages transitively from a pub server', () { |
| 28 servePackages([ | 61 servePackages([ |
| 29 package("foo", "1.2.3", [dependency("bar", "2.0.4")]), | 62 package("foo", "1.2.3", [dependency("bar", "2.0.4")]), |
| 30 package("bar", "2.0.3"), | 63 package("bar", "2.0.3"), |
| 31 package("bar", "2.0.4"), | 64 package("bar", "2.0.4"), |
| 32 package("bar", "2.0.5") | 65 package("bar", "2.0.5") |
| 33 ]); | 66 ]); |
| 34 | 67 |
| 35 appDir([dependency("foo", "1.2.3")]).scheduleCreate(); | 68 appDir([dependency("foo", "1.2.3")]).scheduleCreate(); |
| 36 | 69 |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 | 356 |
| 324 packagesDir({ | 357 packagesDir({ |
| 325 "foo": "1.0.0", | 358 "foo": "1.0.0", |
| 326 "bar": null, | 359 "bar": null, |
| 327 "shared-dep": "1.0.0" | 360 "shared-dep": "1.0.0" |
| 328 }).scheduleValidate(); | 361 }).scheduleValidate(); |
| 329 | 362 |
| 330 run(); | 363 run(); |
| 331 }); | 364 }); |
| 332 } | 365 } |
| OLD | NEW |