From 340164c64e90d44b1bdf620b514166db1f76cc98 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 24 Jun 2026 00:47:20 +0900 Subject: test: port more unimplemented tests Co-Authored-By: Claude Opus 4.8 (1M context) --- .../shirabe/tests/platform/hhvm_detector_test.rs | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'crates/shirabe/tests/platform') diff --git a/crates/shirabe/tests/platform/hhvm_detector_test.rs b/crates/shirabe/tests/platform/hhvm_detector_test.rs index 12a966a..f0a8550 100644 --- a/crates/shirabe/tests/platform/hhvm_detector_test.rs +++ b/crates/shirabe/tests/platform/hhvm_detector_test.rs @@ -4,7 +4,7 @@ use shirabe::platform::hhvm_detector::HhvmDetector; use shirabe::util::Platform; use shirabe::util::ProcessExecutor; use shirabe_external_packages::symfony::process::ExecutableFinder; -use shirabe_php_shim::{PhpMixed, defined}; +use shirabe_php_shim::{PhpMixed, constant, defined}; use shirabe_semver::version_parser::VersionParser; fn set_up() -> HhvmDetector { @@ -13,11 +13,16 @@ fn set_up() -> HhvmDetector { hhvm_detector } +#[ignore] #[test] -#[ignore = "requires HHVM_VERSION_ID constant, which the shim does not define"] fn test_hhvm_version_when_executing_in_hhvm() { - let _hhvm_detector = set_up(); - todo!() + let mut hhvm_detector = set_up(); + if !defined("HHVM_VERSION_ID") { + // markTestSkipped('Not running with HHVM') + return; + } + let version = hhvm_detector.get_version(); + assert_eq!(version_id_to_version(), version); } #[ignore] @@ -66,3 +71,17 @@ fn test_hhvm_version_when_executing_in_php() { VersionParser.normalize(&detected_version, None).unwrap() ); } + +fn version_id_to_version() -> Option { + if !defined("HHVM_VERSION_ID") { + return None; + } + + let hhvm_version_id = constant("HHVM_VERSION_ID").as_int().unwrap(); + Some(format!( + "{}.{}.{}", + hhvm_version_id / 10000, + (hhvm_version_id / 100) % 100, + hhvm_version_id % 100, + )) +} -- cgit v1.3.1