aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/common
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 03:15:07 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 03:15:07 +0900
commitd9eb06c836e1faa759225a9653181b1dcd38a52d (patch)
tree2e1d0485b831ed3818b61aaa4ed55492ec0c4e28 /crates/shirabe/tests/common
parent73ae931f8e31b3769253a166d0d66e7c3bde502c (diff)
downloadphp-shirabe-d9eb06c836e1faa759225a9653181b1dcd38a52d.tar.gz
php-shirabe-d9eb06c836e1faa759225a9653181b1dcd38a52d.tar.zst
php-shirabe-d9eb06c836e1faa759225a9653181b1dcd38a52d.zip
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) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/common')
-rw-r--r--crates/shirabe/tests/common/test_case.rs11
1 files changed, 10 insertions, 1 deletions
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();