Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: sdk/lib/_internal/pub_generated/test/implicit_barback_dependency_test.dart

Issue 896623005: Use native async/await support in pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 import 'package:pub_semver/pub_semver.dart';
6
7 import 'descriptor.dart' as d;
8 import 'test_pub.dart';
9 import '../lib/src/barback.dart' as barback;
10
11 main() {
12 initConfig();
13
14 var constraint = barback.pubConstraints["barback"];
15 var current = constraint.min.toString();
16 var previous =
17 new Version(constraint.min.major, constraint.min.minor - 1, 0).toString();
18 var nextPatch = constraint.min.nextPatch.toString();
19 var max = constraint.max.toString();
20
21 var sourceSpanVersion = barback.pubConstraints["source_span"].min.toString();
22 var stackTraceVersion = barback.pubConstraints["stack_trace"].min.toString();
23
24 forBothPubGetAndUpgrade((command) {
25 integration("implicitly constrains barback to versions pub supports", () {
26 servePackages((builder) {
27 builder.serve("barback", previous);
28 builder.serve("barback", current);
29 builder.serve("barback", nextPatch);
30 builder.serve("barback", max);
31 builder.serve("source_span", sourceSpanVersion);
32 builder.serve("stack_trace", stackTraceVersion);
33 });
34
35 d.appDir({
36 "barback": "any"
37 }).create();
38
39 pubCommand(command);
40
41 d.packagesDir({
42 "barback": nextPatch
43 }).validate();
44 });
45
46 integration("discovers transitive dependency on barback", () {
47 servePackages((builder) {
48 builder.serve("barback", previous);
49 builder.serve("barback", current);
50 builder.serve("barback", nextPatch);
51 builder.serve("barback", max);
52 builder.serve("source_span", sourceSpanVersion);
53 builder.serve("stack_trace", stackTraceVersion);
54 });
55
56 d.dir(
57 "foo",
58 [d.libDir("foo", "foo 0.0.1"), d.libPubspec("foo", "0.0.1", deps: {
59 "barback": "any"
60 })]).create();
61
62 d.appDir({
63 "foo": {
64 "path": "../foo"
65 }
66 }).create();
67
68 pubCommand(command);
69
70 d.packagesDir({
71 "barback": nextPatch,
72 "foo": "0.0.1"
73 }).validate();
74 });
75
76 integration(
77 "pub's implicit constraint uses the same source and "
78 "description as a dependency override",
79 () {
80 servePackages((builder) {
81 builder.serve("source_span", sourceSpanVersion);
82 builder.serve("stack_trace", stackTraceVersion);
83 });
84
85 d.dir(
86 'barback',
87 [
88 d.libDir('barback', 'barback $current'),
89 d.libPubspec('barback', current),]).create();
90
91 d.dir(appPath, [d.pubspec({
92 "name": "myapp",
93 "dependency_overrides": {
94 "barback": {
95 "path": "../barback"
96 }
97 }
98 })]).create();
99
100 pubCommand(command);
101
102 d.packagesDir({
103 "barback": current
104 }).validate();
105 });
106 });
107
108 integration("unlock if the locked version doesn't meet pub's constraint", () {
109 servePackages((builder) {
110 builder.serve("barback", previous);
111 builder.serve("barback", current);
112 builder.serve("source_span", sourceSpanVersion);
113 builder.serve("stack_trace", stackTraceVersion);
114 });
115
116 d.appDir({
117 "barback": "any"
118 }).create();
119
120 // Hand-create a lockfile to pin barback to an older version.
121 createLockFile("myapp", hosted: {
122 "barback": previous
123 });
124
125 pubGet();
126
127 // It should be upgraded.
128 d.packagesDir({
129 "barback": current
130 }).validate();
131 });
132
133 integration(
134 "includes pub in the error if a solve failed because there "
135 "is no version available",
136 () {
137 servePackages((builder) {
138 builder.serve("barback", previous);
139 builder.serve("source_span", sourceSpanVersion);
140 builder.serve("stack_trace", stackTraceVersion);
141 });
142
143 d.appDir({
144 "barback": "any"
145 }).create();
146
147 pubGet(error: """
148 Package barback 0.12.0 does not match >=$current <$max derived from:
149 - myapp 0.0.0 depends on version any
150 - pub itself depends on version >=$current <$max""");
151 });
152
153 integration(
154 "includes pub in the error if a solve failed because there "
155 "is a disjoint constraint",
156 () {
157 servePackages((builder) {
158 builder.serve("barback", previous);
159 builder.serve("barback", current);
160 builder.serve("source_span", sourceSpanVersion);
161 builder.serve("stack_trace", stackTraceVersion);
162 });
163
164 d.appDir({
165 "barback": previous
166 }).create();
167
168 pubGet(error: """
169 Incompatible version constraints on barback:
170 - myapp 0.0.0 depends on version $previous
171 - pub itself depends on version >=$current <$max""");
172 });
173 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698