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 |