From 8fe3390d064303b86133a1d2983144a4818a7121 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 23 Jun 2026 03:49:00 +0900 Subject: test(command): port InitCommandTest Port the pure-method cases (parse/namespace/formatAuthors/git/vendor-ignore) and build the ApplicationTester / initTempComposer harness the run cases need. Supporting production changes: - carry the streamable input stream as PhpResource (not PhpMixed) and add InputInterface::as_streamable so QuestionHelper reads the injected stream - add StreamOutput/ConsoleOutput __set_stream test helpers and ApplicationHandle::set_catch_exceptions for the tester - implement the interact() author validator via parse_author_string Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/symfony/console/output/stream_output.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs') diff --git a/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs index 569b348..fa63557 100644 --- a/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs +++ b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs @@ -66,6 +66,13 @@ impl StreamOutput { &self.stream } + /// For testing only. Overwrites the private `stream` field, mirroring what + /// `Symfony\Component\Console\Tester\TesterTrait::initOutput` does via reflection on the + /// `StreamOutput::$stream` property. + pub fn __set_stream(&mut self, stream: shirabe_php_shim::PhpResource) { + self.stream = stream; + } + /// Returns true if the stream supports colorization. /// /// Colorization is disabled if not supported by the stream: -- cgit v1.3.1