Index: utils/tests/pub/version_solver_test.dart |
diff --git a/utils/tests/pub/version_solver_test.dart b/utils/tests/pub/version_solver_test.dart |
index d4d85a68b8444eda2cf6053c7c7e754767ed8052..6f24b41426e13b5591827ef543c0912b110acf3d 100644 |
--- a/utils/tests/pub/version_solver_test.dart |
+++ b/utils/tests/pub/version_solver_test.dart |
@@ -611,11 +611,19 @@ sdkConstraint() { |
'foo': '2.0.0', |
'bar': '2.0.0' |
}, maxTries: 3); |
+ |
+ testResolve('ignores SDK constraints on bleeding edge', { |
+ 'myapp 0.0.0': {'sdk': badVersion } |
+ }, result: { |
+ 'myapp from root': '0.0.0' |
+ }, useBleedingEdgeSdkVersion: true); |
} |
testResolve(description, packages, |
- {lockfile, result, FailMatcherBuilder error, int maxTries}) { |
+ {lockfile, result, FailMatcherBuilder error, int maxTries, |
+ bool useBleedingEdgeSdkVersion}) { |
if (maxTries == null) maxTries = 1; |
+ if (useBleedingEdgeSdkVersion == null) useBleedingEdgeSdkVersion = false; |
test(description, () { |
var cache = new SystemCache('.'); |
@@ -666,6 +674,12 @@ testResolve(description, packages, |
}); |
} |
+ // Make a version number like the continuous build's version. |
+ var previousVersion = sdk.version; |
+ if (useBleedingEdgeSdkVersion) { |
+ sdk.version = new Version(0, 1, 2, build: '0_r12345_juser'); |
+ } |
+ |
// Resolve the versions. |
var future = resolveVersions(cache.sources, root, |
lockFile: realLockFile); |
@@ -677,6 +691,12 @@ testResolve(description, packages, |
matcher = error(maxTries); |
} |
+ future = future.whenComplete(() { |
+ if (useBleedingEdgeSdkVersion) { |
+ sdk.version = previousVersion; |
+ } |
+ }); |
nweiz
2013/04/19 18:42:07
I would find it a little cleaner if you did this w
Bob Nystrom
2013/04/19 21:13:04
I tried that, but it looked weird to me jammed in
|
+ |
expect(future, completion(matcher)); |
}); |
} |