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 import '../../descriptor.dart' as d; | 5 import '../../descriptor.dart' as d; |
6 import '../../test_pub.dart'; | 6 import '../../test_pub.dart'; |
7 | 7 |
8 main() { | 8 main() { |
9 integration("unlocks dependencies if necessary to ensure that a new " | 9 integration("unlocks dependencies if necessary to ensure that a new " |
10 "dependency is satisfied", () { | 10 "dependency is satisfied", () { |
11 servePackages((builder) { | 11 servePackages((builder) { |
12 builder.serve("foo", "1.0.0", deps: {"bar": "<2.0.0"}); | 12 builder.serve("foo", "1.0.0", deps: {"bar": "<2.0.0"}); |
13 builder.serve("bar", "1.0.0", deps: {"baz": "<2.0.0"}); | 13 builder.serve("bar", "1.0.0", deps: {"baz": "<2.0.0"}); |
14 builder.serve("baz", "1.0.0", deps: {"qux": "<2.0.0"}); | 14 builder.serve("baz", "1.0.0", deps: {"qux": "<2.0.0"}); |
15 builder.serve("qux", "1.0.0"); | 15 builder.serve("qux", "1.0.0"); |
16 }); | 16 }); |
17 | 17 |
18 d.appDir({"foo": "any"}).create(); | 18 d.appDir({"foo": "any"}).create(); |
19 | 19 |
20 pubGet(); | 20 pubGet(); |
21 | 21 |
22 d.packagesDir({ | 22 d.appPackagesFile({ |
23 "foo": "1.0.0", | 23 "foo": "1.0.0", |
24 "bar": "1.0.0", | 24 "bar": "1.0.0", |
25 "baz": "1.0.0", | 25 "baz": "1.0.0", |
26 "qux": "1.0.0" | 26 "qux": "1.0.0" |
27 }).validate(); | 27 }).validate(); |
28 | 28 |
29 globalPackageServer.add((builder) { | 29 globalPackageServer.add((builder) { |
30 builder.serve("foo", "2.0.0", deps: {"bar": "<3.0.0"}); | 30 builder.serve("foo", "2.0.0", deps: {"bar": "<3.0.0"}); |
31 builder.serve("bar", "2.0.0", deps: {"baz": "<3.0.0"}); | 31 builder.serve("bar", "2.0.0", deps: {"baz": "<3.0.0"}); |
32 builder.serve("baz", "2.0.0", deps: {"qux": "<3.0.0"}); | 32 builder.serve("baz", "2.0.0", deps: {"qux": "<3.0.0"}); |
33 builder.serve("qux", "2.0.0"); | 33 builder.serve("qux", "2.0.0"); |
34 builder.serve("newdep", "2.0.0", deps: {"baz": ">=1.5.0"}); | 34 builder.serve("newdep", "2.0.0", deps: {"baz": ">=1.5.0"}); |
35 }); | 35 }); |
36 | 36 |
37 d.appDir({"foo": "any", "newdep": "any"}).create(); | 37 d.appDir({"foo": "any", "newdep": "any"}).create(); |
38 | 38 |
39 pubGet(); | 39 pubGet(); |
40 | 40 |
41 d.packagesDir({ | 41 d.appPackagesFile({ |
42 "foo": "2.0.0", | 42 "foo": "2.0.0", |
43 "bar": "2.0.0", | 43 "bar": "2.0.0", |
44 "baz": "2.0.0", | 44 "baz": "2.0.0", |
45 "qux": "1.0.0", | 45 "qux": "1.0.0", |
46 "newdep": "2.0.0" | 46 "newdep": "2.0.0" |
47 }).validate(); | 47 }).validate(); |
48 }); | 48 }); |
49 } | 49 } |
OLD | NEW |