diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-02 16:53:41 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-02 16:53:41 +0900 |
| commit | c1733d88510b7afb88f7a17849de514365e42c84 (patch) | |
| tree | 57f9eb854cb226059df90d190626e090ae07d639 /README.md | |
| parent | 82501a36a0fa6725d656742da42c860e75a89b89 (diff) | |
| download | php-mozart-c1733d88510b7afb88f7a17849de514365e42c84.tar.gz php-mozart-c1733d88510b7afb88f7a17849de514365e42c84.tar.zst php-mozart-c1733d88510b7afb88f7a17849de514365e42c84.zip | |
refactor(registry): introduce Repository and InstallerExecutor traits
Sets up DI scaffolding for in-process installer E2E tests, mirroring how
Composer's PHPUnit suite swaps Packagist (FactoryMock) and the install
manager (InstallationManagerMock) without touching the network or filesystem.
Additions:
- Repository trait + RepositorySet (Composer's RepositoryInterface analog),
with PackagistRepository, InlinePackageRepository, VcsRepository impls.
- InstallerExecutor trait (Composer's InstallationManager analog) with
FilesystemExecutor extracted from install_from_lock.
install_from_lock now delegates per-package install/uninstall verbs to
FilesystemExecutor; console output orchestration stays in the caller so
existing --EXPECT-OUTPUT-shape assertions remain comparable. No behavior
change - all 136 enabled installer fixtures still pass.
Also tightens the installer_fixture\! ignore form to a single token
(installer_fixture\!(name, ignore)) for readability.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions
