|
@@ -0,0 +1,55 @@
|
|
|
+--TEST--
|
|
|
+Require a new package in the composer.json and updating with its name as an argument and with-dependencies should remove packages it replaces which are not root requirements
|
|
|
+--COMPOSER--
|
|
|
+{
|
|
|
+ "repositories": [
|
|
|
+ {
|
|
|
+ "type": "package",
|
|
|
+ "package": [
|
|
|
+ { "name": "current/pkg", "version": "1.0.0", "require": { "current/dep": "*" } },
|
|
|
+ { "name": "current/dep", "version": "1.0.0" },
|
|
|
+ { "name": "new/pkg", "version": "1.0.0", "replace": { "current/dep": "1.0.0" } }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "require": {
|
|
|
+ "current/pkg": "1.*",
|
|
|
+ "new/pkg": "1.*"
|
|
|
+ }
|
|
|
+}
|
|
|
+--INSTALLED--
|
|
|
+[
|
|
|
+ { "name": "current/pkg", "version": "1.0.0", "require": { "current/dep": "*" } },
|
|
|
+ { "name": "current/dep", "version": "1.0.0" }
|
|
|
+]
|
|
|
+--LOCK--
|
|
|
+{
|
|
|
+ "packages": [
|
|
|
+ { "name": "current/pkg", "version": "1.0.0", "require": { "current/dep": "*" } },
|
|
|
+ { "name": "current/dep", "version": "1.0.0" }
|
|
|
+ ],
|
|
|
+ "packages-dev": [],
|
|
|
+ "aliases": [],
|
|
|
+ "minimum-stability": "dev",
|
|
|
+ "stability-flags": [],
|
|
|
+ "prefer-stable": false,
|
|
|
+ "prefer-lowest": false,
|
|
|
+ "platform": [],
|
|
|
+ "platform-dev": []
|
|
|
+}
|
|
|
+--RUN--
|
|
|
+update new/pkg
|
|
|
+--EXPECT-EXIT-CODE--
|
|
|
+2
|
|
|
+--EXPECT-OUTPUT--
|
|
|
+Loading composer repositories with package information
|
|
|
+Updating dependencies
|
|
|
+Your requirements could not be resolved to an installable set of packages.
|
|
|
+
|
|
|
+ Problem 1
|
|
|
+ - current/dep is locked to version 1.0.0 and an update of this package was not requested.
|
|
|
+ - new/pkg 1.0.0 can not be installed as that would require removing current/dep 1.0.0. new/pkg replaces current/dep and can thus not coexist with it.
|
|
|
+ - Root composer.json requires new/pkg 1.* -> satisfiable by new/pkg[1.0.0].
|
|
|
+
|
|
|
+Use the option --with-all-dependencies to allow updates and removals for packages currently locked to specific versions.
|
|
|
+--EXPECT--
|