From 27e81d5e5ca0a89eb176a65b1d9f186658b16f50 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 6 Aug 2026 02:51:52 +0900 Subject: test(plugin): cover composer/installers beyond a fresh install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A single install leaves the installer contract half tested: it never reaches `update`, never runs over an already-installed tree, and never reaches the plugin's own `uninstall()` override — the one chaining onto the promise `LibraryInstaller::uninstall` returns. Nor does it touch the configuration surface real projects use, `installer-paths` and `installer-name`, which the plugin reads back through the package proxy. All three now compare command output as well as the resulting tree against upstream Composer. Progress bar frames are dropped from that comparison: Shirabe renders them differently for every install, including projects with no plugin at all, so they say nothing about the plugin under test. With those covered the plugin joins the verified list in the README. --- README.md | 1 + 1 file changed, 1 insertion(+) (limited to 'README.md') diff --git a/README.md b/README.md index f9f63354..736c22ee 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ It aims at 100% compatibility with Composer, including the plugin API. Shirabe runs Composer plugins using the system-provided real PHP. The plugin API is partially implemented. The following plugins are verified to work: +* [composer/installers](https://github.com/composer/installers) * [phpstan/extension-installer](https://github.com/phpstan/extension-installer) -- cgit v1.3.1