From 31b4bffe129eac30d2322eb114254d9ef6d5c743 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 20 Jul 2026 03:48:34 +0900 Subject: fix(event-dispatcher): un-ignore test_dispatcher_outputs_command The ignore reason went stale: the getListeners override seam and a real ProcessExecutor wired to the IO already cover the PHP setup, and IOStub is the PHPUnit IOInterface-mock equivalent. IOStub now records writeError calls (writeRaw was already recorded) so the expects(once)->with(...) spies on writeError/writeRaw can be reproduced as call-list equality assertions. Co-Authored-By: Claude Fable 5 --- crates/shirabe/tests/common/io_stub.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'crates/shirabe/tests/common') diff --git a/crates/shirabe/tests/common/io_stub.rs b/crates/shirabe/tests/common/io_stub.rs index d8c60799..d582447c 100644 --- a/crates/shirabe/tests/common/io_stub.rs +++ b/crates/shirabe/tests/common/io_stub.rs @@ -53,6 +53,8 @@ pub struct IOStub { // `switch` default. ask_and_hide_answer_responses: Option>, + // Records `writeError` calls. + write_error_calls: CallRecorder<(String, bool)>, // Records `writeRaw` calls. write_raw_calls: CallRecorder<(String, bool)>, // Records `setAuthentication` calls. Kept separate from `authentications` so @@ -149,6 +151,11 @@ impl IOStub { self } + // For testing only. Returns the recorded `writeError` calls in call order. + pub fn write_error_calls(&self) -> Vec<(String, bool)> { + self.write_error_calls.calls() + } + // For testing only. Returns the recorded `writeRaw` calls in call order. pub fn write_raw_calls(&self) -> Vec<(String, bool)> { self.write_raw_calls.calls() @@ -193,7 +200,9 @@ impl IOInterfaceImmutable for IOStub { } fn write3(&self, _message: &str, _newline: bool, _verbosity: i64) {} - fn write_error3(&self, _message: &str, _newline: bool, _verbosity: i64) {} + fn write_error3(&self, message: &str, newline: bool, _verbosity: i64) { + self.write_error_calls.push((message.to_string(), newline)); + } fn write_raw3(&self, message: &str, newline: bool, _verbosity: i64) { self.write_raw_calls.push((message.to_string(), newline)); } -- cgit v1.3.1