diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-06 01:51:05 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-06 01:51:05 +0900 |
| commit | 0e89281dd7f057d3829508b8e6c5d85c3f111c45 (patch) | |
| tree | e8bb7c9c30009683f68d03fb4b35c7aade11b91b /crates/shirabe/tests/plugin/fixtures/e2e-installer/project | |
| parent | 4de018826e9dce90fd5cb78d468641478327ec99 (diff) | |
| download | php-shirabe-0e89281dd7f057d3829508b8e6c5d85c3f111c45.tar.gz php-shirabe-0e89281dd7f057d3829508b8e6c5d85c3f111c45.tar.zst php-shirabe-0e89281dd7f057d3829508b8e6c5d85c3f111c45.zip | |
test(plugin): compare a plugin-provided installer against upstream Composer
The fixture plugin registers an InstallerInterface implementation of its own
and installs a package of a custom type with it, recording every contract
call it receives. A fresh install produces a byte-identical project tree on
both implementations, trace included.
A second test pins the divergence a re-run and a `remove` expose: the two
implementations consult getInstaller at different points, so the trace
order — and its length once `remove` re-creates the Composer instance —
differs. It is written in full and marked ignored rather than trimmed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/plugin/fixtures/e2e-installer/project')
| -rw-r--r-- | crates/shirabe/tests/plugin/fixtures/e2e-installer/project/composer.json | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crates/shirabe/tests/plugin/fixtures/e2e-installer/project/composer.json b/crates/shirabe/tests/plugin/fixtures/e2e-installer/project/composer.json new file mode 100644 index 00000000..64c1bb32 --- /dev/null +++ b/crates/shirabe/tests/plugin/fixtures/e2e-installer/project/composer.json @@ -0,0 +1,32 @@ +{ + "name": "shirabe/e2e-installer", + "description": "E2E fixture project: install a custom package type through a plugin-provided installer.", + "repositories": [ + { + "type": "path", + "url": "../plugin", + "options": { + "symlink": false + } + }, + { + "type": "path", + "url": "../packages/*", + "options": { + "symlink": false + } + }, + { + "packagist.org": false + } + ], + "require": { + "shirabe-test/asset-installer": "1.0.0", + "shirabe-test/asset-a": "1.0.0" + }, + "config": { + "allow-plugins": { + "shirabe-test/asset-installer": true + } + } +} |
