Chromium Code Reviews| 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)); |
| }); |
| } |