Browse Source

Merge pull request #3467 from naderman/fix-update-whitelist-unused

Add test case for removing unused dependencies on whitelisted update
Nils Adermann 10 years ago
parent
commit
e844ead223

+ 44 - 0
tests/Composer/Test/Fixtures/installer/install-from-lock-removes-package.test

@@ -0,0 +1,44 @@
+--TEST--
+Install from a lock file that deleted a package
+--COMPOSER--
+{
+    "repositories": [
+        {
+            "type": "package",
+            "package": [
+                { "name": "whitelisted", "version": "1.1.0" },
+                { "name": "whitelisted", "version": "1.0.0", "require": { "fixed-dependency": "1.0.0", "old-dependency": "1.0.0" } },
+                { "name": "fixed-dependency", "version": "1.1.0" },
+                { "name": "fixed-dependency", "version": "1.0.0" },
+                { "name": "old-dependency", "version": "1.0.0" }
+            ]
+        }
+    ],
+    "require": {
+        "whitelisted": "1.*",
+        "fixed-dependency": "1.*"
+    }
+}
+--LOCK--
+{
+    "packages": [
+        { "name": "whitelisted", "version": "1.1.0" },
+        { "name": "fixed-dependency", "version": "1.0.0" }
+    ],
+    "packages-dev": null,
+    "aliases": [],
+    "minimum-stability": "dev",
+    "stability-flags": [],
+    "prefer-stable": false
+}
+--INSTALLED--
+[
+    { "name": "whitelisted", "version": "1.0.0", "require": { "old-dependency": "1.0.0", "fixed-dependency": "1.0.0" } },
+    { "name": "fixed-dependency", "version": "1.0.0" },
+    { "name": "old-dependency", "version": "1.0.0" }
+]
+--RUN--
+install
+--EXPECT--
+Uninstalling old-dependency (1.0.0)
+Updating whitelisted (1.0.0) to whitelisted (1.1.0)

+ 32 - 0
tests/Composer/Test/Fixtures/installer/update-whitelist-removes-unused.test

@@ -0,0 +1,32 @@
+--TEST--
+Update with a package whitelist removes unused packages
+--COMPOSER--
+{
+    "repositories": [
+        {
+            "type": "package",
+            "package": [
+                { "name": "whitelisted", "version": "1.1.0" },
+                { "name": "whitelisted", "version": "1.0.0", "require": { "fixed-dependency": "1.0.0", "old-dependency": "1.0.0" } },
+                { "name": "fixed-dependency", "version": "1.1.0" },
+                { "name": "fixed-dependency", "version": "1.0.0" },
+                { "name": "old-dependency", "version": "1.0.0" }
+            ]
+        }
+    ],
+    "require": {
+        "whitelisted": "1.*",
+        "fixed-dependency": "1.*"
+    }
+}
+--INSTALLED--
+[
+    { "name": "whitelisted", "version": "1.0.0", "require": { "old-dependency": "1.0.0", "fixed-dependency": "1.0.0" } },
+    { "name": "fixed-dependency", "version": "1.0.0" },
+    { "name": "old-dependency", "version": "1.0.0" }
+]
+--RUN--
+update --with-dependencies whitelisted
+--EXPECT--
+Uninstalling old-dependency (1.0.0)
+Updating whitelisted (1.0.0) to whitelisted (1.1.0)