Index: sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart |
diff --git a/sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart b/sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart |
index 02f23630c71cbab722aa7d31dd6ec96c380a547a..29218b008d3060c97b921c9a2b044d4987385332 100644 |
--- a/sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart |
+++ b/sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart |
@@ -10,16 +10,19 @@ import '../lib/src/version.dart'; |
main() { |
initConfig(); |
- var previousVersion = new Version( |
- barback.supportedVersion.major, barback.supportedVersion.minor - 1, 0); |
+ var current = barback.supportedVersion.toString(); |
+ var previous = new Version(barback.supportedVersion.major, |
+ barback.supportedVersion.minor - 1, 0).toString(); |
+ var nextPatch = barback.supportedVersion.nextPatch.toString(); |
+ var max = barback.supportedVersion.nextMinor.toString(); |
forBothPubGetAndUpgrade((command) { |
integration("implicitly constrains barback to versions pub supports", () { |
servePackages([ |
- packageMap("barback", previousVersion.toString()), |
- packageMap("barback", barback.supportedVersion.toString()), |
- packageMap("barback", barback.supportedVersion.nextPatch.toString()), |
- packageMap("barback", barback.supportedVersion.nextMinor.toString()) |
+ packageMap("barback", previous), |
+ packageMap("barback", current), |
+ packageMap("barback", nextPatch), |
+ packageMap("barback", max) |
]); |
d.appDir({ |
@@ -35,10 +38,10 @@ main() { |
integration("discovers transitive dependency on barback", () { |
servePackages([ |
- packageMap("barback", previousVersion.toString()), |
- packageMap("barback", barback.supportedVersion.toString()), |
- packageMap("barback", barback.supportedVersion.nextPatch.toString()), |
- packageMap("barback", barback.supportedVersion.nextMinor.toString()) |
+ packageMap("barback", previous), |
+ packageMap("barback", current), |
+ packageMap("barback", nextPatch), |
+ packageMap("barback", max) |
]); |
d.dir("foo", [ |
@@ -55,30 +58,78 @@ main() { |
pubCommand(command); |
d.packagesDir({ |
- "barback": barback.supportedVersion.nextPatch.toString(), |
+ "barback": nextPatch, |
"foo": "0.0.1" |
}).validate(); |
}); |
+ |
+ integration("pub's implicit constraint uses the same source and " |
+ "description as the explicit one", () { |
+ d.dir('barback', [ |
+ d.libDir('barback', 'barback $current'), |
+ d.libPubspec('barback', current) |
+ ]).create(); |
+ |
+ d.dir(appPath, [ |
+ d.appPubspec({ |
+ "barback": {"path": "../barback"} |
+ }) |
+ ]).create(); |
+ |
+ pubCommand(command); |
+ |
+ d.packagesDir({ |
+ "barback": current |
+ }).validate(); |
+ }); |
nweiz
2013/12/13 23:15:21
Also test that installation fails if the barback b
|
}); |
integration("unlock if the locked version doesn't meet pub's constraint", () { |
servePackages([ |
- packageMap("barback", previousVersion.toString()), |
- packageMap("barback", barback.supportedVersion.toString()) |
+ packageMap("barback", previous), |
+ packageMap("barback", current) |
]); |
d.appDir({"barback": "any"}).create(); |
// Hand-create a lockfile to pin barback to an older version. |
createLockFile("myapp", hosted: { |
- "barback": previousVersion.toString() |
+ "barback": previous |
}); |
pubGet(); |
// It should be upgraded. |
d.packagesDir({ |
- "barback": barback.supportedVersion.toString() |
+ "barback": current |
}).validate(); |
}); |
+ |
+ integration("include pub in the error if a solve failed because there " |
nweiz
2013/12/13 23:15:21
"include" -> "includes"
Bob Nystrom
2013/12/14 00:07:35
Done.
|
+ "is no version available", () { |
+ servePackages([ |
+ packageMap("barback", previous) |
+ ]); |
+ |
+ d.appDir({"barback": "any"}).create(); |
+ |
+ pubGet(error: """ |
+Package 'barback' has no versions that match >=$current <$max derived from: |
+- 'myapp' depends on version any |
+- 'pub' depends on version >=$current <$max"""); |
+ }); |
+ |
+ integration("include pub in the error if a solve failed because there " |
+ "is a disjoint constraint", () { |
+ servePackages([ |
+ packageMap("barback", current) |
+ ]); |
+ |
+ d.appDir({"barback": previous}).create(); |
+ |
+ pubGet(error: """ |
+Incompatible version constraints on 'myapp': |
+- 'myapp' depends on version $previous |
+- 'pub' depends on version >=$current <$max"""); |
+ }); |
} |