1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- /**
- * This is a TestRecorder representing a collection of other TestRecorders.
- * It proxies calls to all constituent objects.
- */
- class MultiTestRecorder extends TestRecorder {
- private $recorders = [];
- public function addRecorder( TestRecorder $recorder ) {
- $this->recorders[] = $recorder;
- }
- private function proxy( $funcName, $args ) {
- foreach ( $this->recorders as $recorder ) {
- call_user_func_array( [ $recorder, $funcName ], $args );
- }
- }
- public function start() {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function startTest( $test ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function startSuite( $path ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function endSuite( $path ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function record( $test, ParserTestResult $result ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function warning( $message ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function skipped( $test, $subtest ) {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function report() {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- public function end() {
- $this->proxy( __FUNCTION__, func_get_args() );
- }
- }
|