OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 'package:pub/src/barback.dart' as barback; | 5 import 'package:pub/src/barback.dart' as barback; |
6 import 'package:pub_semver/pub_semver.dart'; | 6 import 'package:pub_semver/pub_semver.dart'; |
7 | 7 |
8 import 'descriptor.dart' as d; | 8 import 'descriptor.dart' as d; |
9 import 'test_pub.dart'; | 9 import 'test_pub.dart'; |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 builder.serve("stack_trace", stackTraceVersion); | 31 builder.serve("stack_trace", stackTraceVersion); |
32 builder.serve("async", asyncVersion); | 32 builder.serve("async", asyncVersion); |
33 }); | 33 }); |
34 | 34 |
35 d.appDir({ | 35 d.appDir({ |
36 "barback": "any" | 36 "barback": "any" |
37 }).create(); | 37 }).create(); |
38 | 38 |
39 pubCommand(command); | 39 pubCommand(command); |
40 | 40 |
41 d.packagesDir({ | 41 d.appPackagesFile({ |
42 "barback": nextPatch | 42 "async": asyncVersion, |
| 43 "barback": nextPatch, |
| 44 "source_span": sourceSpanVersion, |
| 45 "stack_trace": stackTraceVersion |
43 }).validate(); | 46 }).validate(); |
44 }); | 47 }); |
45 | 48 |
46 integration("discovers transitive dependency on barback", () { | 49 integration("discovers transitive dependency on barback", () { |
47 servePackages((builder) { | 50 servePackages((builder) { |
48 builder.serve("barback", previous); | 51 builder.serve("barback", previous); |
49 builder.serve("barback", current); | 52 builder.serve("barback", current); |
50 builder.serve("barback", nextPatch); | 53 builder.serve("barback", nextPatch); |
51 builder.serve("barback", max); | 54 builder.serve("barback", max); |
52 builder.serve("source_span", sourceSpanVersion); | 55 builder.serve("source_span", sourceSpanVersion); |
53 builder.serve("stack_trace", stackTraceVersion); | 56 builder.serve("stack_trace", stackTraceVersion); |
54 builder.serve("async", asyncVersion); | 57 builder.serve("async", asyncVersion); |
55 }); | 58 }); |
56 | 59 |
57 d.dir("foo", [ | 60 d.dir("foo", [ |
58 d.libDir("foo", "foo 0.0.1"), | 61 d.libDir("foo", "foo 0.0.1"), |
59 d.libPubspec("foo", "0.0.1", deps: { | 62 d.libPubspec("foo", "0.0.1", deps: { |
60 "barback": "any" | 63 "barback": "any" |
61 }) | 64 }) |
62 ]).create(); | 65 ]).create(); |
63 | 66 |
64 d.appDir({ | 67 d.appDir({ |
65 "foo": {"path": "../foo"} | 68 "foo": {"path": "../foo"} |
66 }).create(); | 69 }).create(); |
67 | 70 |
68 pubCommand(command); | 71 pubCommand(command); |
69 | 72 |
70 d.packagesDir({ | 73 d.appPackagesFile({ |
| 74 "async": asyncVersion, |
71 "barback": nextPatch, | 75 "barback": nextPatch, |
72 "foo": "0.0.1" | 76 "source_span": sourceSpanVersion, |
| 77 "stack_trace": stackTraceVersion, |
| 78 "foo": "../foo" |
73 }).validate(); | 79 }).validate(); |
74 }); | 80 }); |
75 | 81 |
76 integration("pub's implicit constraint uses the same source and " | 82 integration("pub's implicit constraint uses the same source and " |
77 "description as a dependency override", () { | 83 "description as a dependency override", () { |
78 servePackages((builder) { | 84 servePackages((builder) { |
79 builder.serve("source_span", sourceSpanVersion); | 85 builder.serve("source_span", sourceSpanVersion); |
80 builder.serve("stack_trace", stackTraceVersion); | 86 builder.serve("stack_trace", stackTraceVersion); |
81 builder.serve("async", asyncVersion); | 87 builder.serve("async", asyncVersion); |
82 }); | 88 }); |
83 | 89 |
84 d.dir('barback', [ | 90 d.dir('barback', [ |
85 d.libDir('barback', 'barback $current'), | 91 d.libDir('barback', 'barback $current'), |
86 d.libPubspec('barback', current), | 92 d.libPubspec('barback', current), |
87 ]).create(); | 93 ]).create(); |
88 | 94 |
89 d.dir(appPath, [ | 95 d.dir(appPath, [ |
90 d.pubspec({ | 96 d.pubspec({ |
91 "name": "myapp", | 97 "name": "myapp", |
92 "dependency_overrides": { | 98 "dependency_overrides": { |
93 "barback": {"path": "../barback"} | 99 "barback": {"path": "../barback"} |
94 } | 100 } |
95 }) | 101 }) |
96 ]).create(); | 102 ]).create(); |
97 | 103 |
98 pubCommand(command); | 104 pubCommand(command); |
99 | 105 |
100 d.packagesDir({ | 106 d.appPackagesFile({ |
101 "barback": current | 107 "async": asyncVersion, |
| 108 "barback": "../barback", |
| 109 "source_span": sourceSpanVersion, |
| 110 "stack_trace": stackTraceVersion, |
102 }).validate(); | 111 }).validate(); |
103 }); | 112 }); |
104 }); | 113 }); |
105 | 114 |
106 integration("unlock if the locked version doesn't meet pub's constraint", () { | 115 integration("unlock if the locked version doesn't meet pub's constraint", () { |
107 servePackages((builder) { | 116 servePackages((builder) { |
108 builder.serve("barback", previous); | 117 builder.serve("barback", previous); |
109 builder.serve("barback", current); | 118 builder.serve("barback", current); |
110 builder.serve("source_span", sourceSpanVersion); | 119 builder.serve("source_span", sourceSpanVersion); |
111 builder.serve("stack_trace", stackTraceVersion); | 120 builder.serve("stack_trace", stackTraceVersion); |
112 builder.serve("async", asyncVersion); | 121 builder.serve("async", asyncVersion); |
113 }); | 122 }); |
114 | 123 |
115 d.appDir({"barback": "any"}).create(); | 124 d.appDir({"barback": "any"}).create(); |
116 | 125 |
117 // Hand-create a lockfile to pin barback to an older version. | 126 // Hand-create a lockfile to pin barback to an older version. |
118 createLockFile("myapp", hosted: { | 127 createLockFile("myapp", hosted: { |
119 "barback": previous | 128 "barback": previous |
120 }); | 129 }); |
121 | 130 |
122 pubGet(); | 131 pubGet(); |
123 | 132 |
124 // It should be upgraded. | 133 // It should be upgraded. |
125 d.packagesDir({ | 134 d.appPackagesFile({ |
126 "barback": current | 135 "async": asyncVersion, |
| 136 "barback": current, |
| 137 "source_span": sourceSpanVersion, |
| 138 "stack_trace": stackTraceVersion, |
127 }).validate(); | 139 }).validate(); |
128 }); | 140 }); |
129 | 141 |
130 integration("includes pub in the error if a solve failed because there " | 142 integration("includes pub in the error if a solve failed because there " |
131 "is no version available", () { | 143 "is no version available", () { |
132 servePackages((builder) { | 144 servePackages((builder) { |
133 builder.serve("barback", previous); | 145 builder.serve("barback", previous); |
134 builder.serve("source_span", sourceSpanVersion); | 146 builder.serve("source_span", sourceSpanVersion); |
135 builder.serve("stack_trace", stackTraceVersion); | 147 builder.serve("stack_trace", stackTraceVersion); |
136 builder.serve("async", asyncVersion); | 148 builder.serve("async", asyncVersion); |
(...skipping 18 matching lines...) Expand all Loading... |
155 }); | 167 }); |
156 | 168 |
157 d.appDir({"barback": previous}).create(); | 169 d.appDir({"barback": previous}).create(); |
158 | 170 |
159 pubGet(error: """ | 171 pubGet(error: """ |
160 Incompatible version constraints on barback: | 172 Incompatible version constraints on barback: |
161 - myapp depends on version $previous | 173 - myapp depends on version $previous |
162 - pub itself depends on version >=$current <$max"""); | 174 - pub itself depends on version >=$current <$max"""); |
163 }); | 175 }); |
164 } | 176 } |
OLD | NEW |