From 41c80058ad57143b2ab23d2eb241983627de9da1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 21 Jun 2026 03:47:19 +0900 Subject: test: port Documentation/Xz/Audit/ErrorHandler/PharArchiver tests as stubs All ignored/todo!(): they need infrastructure not yet ported (console Application, HttpDownloader/curl, ApplicationTester, PHP runtime error handler, PharData/ZipArchive). Wires up the downloader test target. setUp/tearDown not ported. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/tests/util/error_handler_test.rs | 23 +++++++++++++++++++++++ crates/shirabe/tests/util/main.rs | 1 + 2 files changed, 24 insertions(+) (limited to 'crates/shirabe/tests/util') diff --git a/crates/shirabe/tests/util/error_handler_test.rs b/crates/shirabe/tests/util/error_handler_test.rs index 3fecc60..92ce4e8 100644 --- a/crates/shirabe/tests/util/error_handler_test.rs +++ b/crates/shirabe/tests/util/error_handler_test.rs @@ -1 +1,24 @@ //! ref: composer/tests/Composer/Test/Util/ErrorHandlerTest.php + +// These tests rely on PHP's runtime error-handling machinery: ErrorHandler::register() +// installs a handler that converts notices/warnings into \ErrorException, and the tests +// trigger those by undefined-index access / array_merge misuse. There is no equivalent +// runtime mechanism in Rust to port faithfully. + +#[test] +#[ignore = "relies on PHP's set_error_handler converting an undefined-array-key notice into an ErrorException; no Rust equivalent"] +fn test_error_handler_capture_notice() { + todo!() +} + +#[test] +#[ignore = "relies on PHP's runtime turning an invalid array_merge call into a TypeError/ErrorException; no Rust equivalent"] +fn test_error_handler_capture_warning() { + todo!() +} + +#[test] +#[ignore = "relies on PHP's @ error-suppression operator and set_error_handler; no Rust equivalent"] +fn test_error_handler_respects_at_operator() { + todo!() +} diff --git a/crates/shirabe/tests/util/main.rs b/crates/shirabe/tests/util/main.rs index ce39655..1fb221b 100644 --- a/crates/shirabe/tests/util/main.rs +++ b/crates/shirabe/tests/util/main.rs @@ -1,4 +1,5 @@ mod config_validator_test; +mod error_handler_test; mod forgejo_url_test; mod http; mod metadata_minifier_test; -- cgit v1.3.1