assertStringContainsString( 'HivePress', $out ); $this->assertStringContainsString( 'hivepress', $out ); $this->assertStringContainsString( 'wp wpdo hivepress', $out ); } public function test_render_shows_clean_when_no_conflicts(): void { $out = self::capture( static function () { WPDO_Admin_HivePress::render(); } ); $this->assertStringContainsString( 'Conflict guard', $out ); $this->assertStringContainsString( 'notice-success', $out ); } /** * Capture echo output of a callable in a single buffer level. * * Avoids PHPUnit's "did not close output buffers" warning by using * the level-checked open/close pattern. */ private static function capture( callable $callable ): string { $start_level = ob_get_level(); ob_start(); try { $callable(); } finally { $out = ''; while ( ob_get_level() > $start_level ) { $out = (string) ob_get_clean() . $out; } } return $out; } }