aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/tests/installer.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-03 16:45:12 +0900
committernsfisis <nsfisis@gmail.com>2026-05-03 16:45:12 +0900
commit766fec6ed7b3610126abe3619c6c5f98f393d937 (patch)
tree9afba9bd4e305c1836785bd1014d79eb0eac6390 /crates/mozart/tests/installer.rs
parent9eecfe303c944c80556b0b25fcd3ce6bbce3aeb8 (diff)
downloadphp-mozart-766fec6ed7b3610126abe3619c6c5f98f393d937.tar.gz
php-mozart-766fec6ed7b3610126abe3619c6c5f98f393d937.tar.zst
php-mozart-766fec6ed7b3610126abe3619c6c5f98f393d937.zip
fix(install): reinstall when locked package's abandoned flag drifts
Composer's Transaction::calculateOperations fires an UpdateOperation on same-version packages when isAbandoned() or getReplacementPackage() shifts between installed and locked, so vendor/composer/installed.json picks up the refreshed metadata. Mozart only checked source/dist references and treated the abandon-flag drift as a no-op skip. Mirror the canonical bool/string reduction Composer uses (false/null → not abandoned, true → abandoned without replacement, string → abandoned with that replacement) so the check is symmetric across the lock and installed.json shapes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/tests/installer.rs')
-rw-r--r--crates/mozart/tests/installer.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs
index cb7f430..b5e4026 100644
--- a/crates/mozart/tests/installer.rs
+++ b/crates/mozart/tests/installer.rs
@@ -259,7 +259,7 @@ installer_fixture!(install_aliased_alias);
installer_fixture!(install_branch_alias_composer_repo);
installer_fixture!(install_dev);
installer_fixture!(install_dev_using_dist);
-installer_fixture!(install_forces_reinstall_if_abandon_changes, ignore);
+installer_fixture!(install_forces_reinstall_if_abandon_changes);
installer_fixture!(install_from_incomplete_lock);
installer_fixture!(install_from_incomplete_lock_with_ignore, ignore);
installer_fixture!(install_from_lock_removes_package);