From d9eb06c836e1faa759225a9653181b1dcd38a52d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 21 Jun 2026 03:15:07 +0900 Subject: test(repository): port ArrayRepositoryTest Seven cases pass against ArrayRepository. testAutomaticallyAddAliased... is #[ignore] because AliasPackage::get_unique_name returns the aliased package's unique name rather than the alias's own version, so has_package cannot find the alias version. Adds a shared get_alias_package helper to the test TestCase, building the alias via from_rc_unchecked since the public handle API exposes link/alias construction only indirectly. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/tests/common/test_case.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'crates/shirabe/tests/common') diff --git a/crates/shirabe/tests/common/test_case.rs b/crates/shirabe/tests/common/test_case.rs index 4a54195..6fe1358 100644 --- a/crates/shirabe/tests/common/test_case.rs +++ b/crates/shirabe/tests/common/test_case.rs @@ -4,7 +4,9 @@ //! `#[path = "../common/test_case.rs"] mod test_case;`. #![allow(dead_code)] -use shirabe::package::handle::{CompletePackageHandle, PackageInterfaceHandle}; +use shirabe::package::handle::{ + CompleteAliasPackageHandle, CompletePackageHandle, PackageInterfaceHandle, +}; use shirabe_semver::constraint::{AnyConstraint, SimpleConstraint}; use shirabe_semver::version_parser::VersionParser; @@ -14,6 +16,13 @@ pub fn get_package(name: &str, version: &str) -> PackageInterfaceHandle { CompletePackageHandle::new(name.to_string(), norm_version, version.to_string()).into() } +/// ref: TestCase::getAliasPackage (default class CompleteAliasPackage) +pub fn get_alias_package(package: &PackageInterfaceHandle, version: &str) -> PackageInterfaceHandle { + let norm_version = VersionParser.normalize(version, None).unwrap(); + let complete = CompletePackageHandle::from_rc_unchecked(package.as_rc().clone()); + CompleteAliasPackageHandle::new(complete, norm_version, version.to_string()).into() +} + /// ref: TestCase::getVersionConstraint pub fn get_version_constraint(operator: &str, version: &str) -> AnyConstraint { let normalized = VersionParser.normalize(version, None).unwrap(); -- cgit v1.3.1