From fe0352e2db35ed559506c2b477708180768000e8 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 19 Jul 2026 18:47:48 +0900 Subject: fix(show-command): un-ignore 10 tests by fixing show-warnings typing and repo bugs Replace the PhpMixed-based `$showWarnings` hack in VersionSelector:: findBestCandidate with a typed ShowWarnings enum (Always / Predicate), letting ShowCommand::findLatestPackage pass its real closure instead of hardcoding `true`. Fix the --no-dev branch in ShowCommand::execute, which built `repos` from an empty package list instead of sharing the same InstalledRepository as `installed_repo`. Pass repository handles instead of pre-borrowed `&dyn RepositoryInterface` refs into get_package/ generate_package_tree/add_tree to stop a RefCell double-borrow panic on --all/--locked. Add the missing CompletePackage/RootPackage set_release_date setter so the outdated sorting-by-age test can set fixture dates. Resolve OutputFormatterStyleStack::pop's empty-style todo!() via clone_box(), and fix FileDownloader's cache-GC log call to pass the VERY_VERBOSE verbosity PHP uses. Co-Authored-By: Claude Sonnet 5 --- crates/shirabe/src/package/handle.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'crates/shirabe/src/package/handle.rs') diff --git a/crates/shirabe/src/package/handle.rs b/crates/shirabe/src/package/handle.rs index 2b23a8c2..4d78734f 100644 --- a/crates/shirabe/src/package/handle.rs +++ b/crates/shirabe/src/package/handle.rs @@ -1570,6 +1570,13 @@ impl CompletePackageHandle { pub fn new(name: String, version: String, pretty_version: String) -> Self { Self::from_complete_package(CompletePackage::new(name, version, pretty_version)) } + + pub fn set_release_date(&self, release_date: Option>) { + match &mut *self.0.borrow_mut() { + AnyPackage::CompletePackage(p) => p.set_release_date(release_date), + _ => unreachable!("CompletePackageHandle invariant"), + } + } } impl RootPackageHandle { @@ -1589,6 +1596,13 @@ impl RootPackageHandle { _ => unreachable!("RootPackageHandle invariant"), } } + + pub fn set_release_date(&self, release_date: Option>) { + match &mut *self.0.borrow_mut() { + AnyPackage::RootPackage(p) => p.set_release_date(release_date), + _ => unreachable!("RootPackageHandle invariant"), + } + } } impl AliasPackageHandle { -- cgit v1.3.1