--TEST-- Verify that partial updates warn about using patterns in the argument which have no matches --COMPOSER-- { "repositories": [ { "type": "package", "package": [ { "name": "a/a", "version": "1.0.0" }, { "name": "b/b", "version": "1.0.0" }, { "name": "b/b", "version": "1.1.0" } ] } ], "require": { "a/a": "~1.0", "b/b": "~1.0" } } --INSTALLED-- [ { "name": "a/a", "version": "1.0.0" }, { "name": "b/b", "version": "1.0.0" } ] --LOCK-- { "packages": [ { "name": "a/a", "version": "1.0.0" }, { "name": "b/b", "version": "1.0.0" } ], "packages-dev": [], "aliases": [], "minimum-stability": "dev", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": [], "platform-dev": [] } --RUN-- update b/b foo/bar baz/* --with-dependencies --EXPECT-OUTPUT-- Loading composer repositories with package information Package "foo/bar" listed for update is not locked. Pattern "baz/*" listed for update does not match any locked packages. Updating dependencies Lock file operations: 0 installs, 1 update, 0 removals - Upgrading b/b (1.0.0 => 1.1.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 1 update, 0 removals Generating autoload files --EXPECT-- Upgrading b/b (1.0.0 => 1.1.0)