From 2b2ca914cc5f2f7fde3b6e75faabbe4913fd7264 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 21 Jun 2026 12:40:10 +0900 Subject: test(tests): port setUp/tearDown as set_up/tear_down with TearDown Port PHP setUp/tearDown across the ported integration tests using same-named set_up()/tear_down() functions and a TearDown struct whose Drop runs tear_down(). Fixture-init setUp returns its fixtures; tmpdir-style setUp/tearDown carry state in TearDown fields. Parts that depend on unported infrastructure (PHPUnit mocks, Config::merge, the PHP error handler) stay todo!() and are only wired into ignored stubs to avoid breaking live tests. Also fix shirabe-php-shim putenv to handle the no-'=' form (PHP unsets the variable), which Platform::clear_env relies on for the env-clearing tearDowns. Co-Authored-By: Claude Opus 4.8 --- crates/shirabe/tests/package/dumper/array_dumper_test.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'crates/shirabe/tests/package/dumper') diff --git a/crates/shirabe/tests/package/dumper/array_dumper_test.rs b/crates/shirabe/tests/package/dumper/array_dumper_test.rs index c89f5ed..6ed12fe 100644 --- a/crates/shirabe/tests/package/dumper/array_dumper_test.rs +++ b/crates/shirabe/tests/package/dumper/array_dumper_test.rs @@ -6,6 +6,10 @@ use shirabe::package::handle::{CompletePackageHandle, RootPackageHandle}; use shirabe_php_shim::PhpMixed; use shirabe_semver::version_parser::VersionParser; +fn set_up() -> ArrayDumper { + ArrayDumper::new() +} + fn complete_package() -> CompletePackageHandle { let norm = VersionParser.normalize("1.0.0", None).unwrap(); CompletePackageHandle::new("dummy/pkg".to_string(), norm, "1.0.0".to_string()) @@ -18,7 +22,8 @@ fn root_package() -> RootPackageHandle { #[test] fn test_required_information() { - let config = ArrayDumper::new().dump(complete_package().into()); + let dumper = set_up(); + let config = dumper.dump(complete_package().into()); let mut expected: IndexMap = IndexMap::new(); expected.insert( @@ -37,10 +42,11 @@ fn test_required_information() { #[test] fn test_root_package() { + let dumper = set_up(); let package = root_package(); package.set_minimum_stability("dev".to_string()); - let config = ArrayDumper::new().dump(package.into()); + let config = dumper.dump(package.into()); assert_eq!( Some(&PhpMixed::String("dev".to_string())), @@ -50,20 +56,22 @@ fn test_root_package() { #[test] fn test_dump_abandoned() { + let dumper = set_up(); let package = complete_package(); package.set_abandoned(PhpMixed::Bool(true)); - let config = ArrayDumper::new().dump(package.into()); + let config = dumper.dump(package.into()); assert_eq!(Some(&PhpMixed::Bool(true)), config.get("abandoned")); } #[test] fn test_dump_abandoned_replacement() { + let dumper = set_up(); let package = complete_package(); package.set_abandoned(PhpMixed::String("foo/bar".to_string())); - let config = ArrayDumper::new().dump(package.into()); + let config = dumper.dump(package.into()); assert_eq!( Some(&PhpMixed::String("foo/bar".to_string())), -- cgit v1.3.1