WordPress.org

Make WordPress Core


Ignore:
Timestamp:
06/02/2017 01:17:30 PM (2 years ago)
Author:
johnbillion
Message:

Build/Test Tools: Fix PHP 5.2 compatibility for grandchild methods which expect exceptions to be raised.

This is due to is_callable( 'parent::setExpectedException' ) not being supported on PHP 5.2 when the method being checked only exists on the grandparent class.

Props jdgrimes

See #39822

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/testcase.php

    r40605 r40872  
    442442    public function setExpectedIncorrectUsage( $doing_it_wrong ) {
    443443        array_push( $this->expected_doing_it_wrong, $doing_it_wrong );
     444    }
     445
     446    /**
     447     * PHPUnit 6+ compatibility shim.
     448     *
     449     * @param mixed      $exception
     450     * @param string     $message
     451     * @param int|string $code
     452     */
     453    public function setExpectedException( $exception, $message = '', $code = null ) {
     454        if ( method_exists( 'PHPUnit_Framework_TestCase::setExpectedException' ) ) {
     455            parent::setExpectedException( $exception, $message, $code );
     456        } else {
     457            $this->expectException( $exception );
     458            if ( '' !== $message ) {
     459                $this->expectExceptionMessage( $message );
     460            }
     461            if ( null !== $code ) {
     462                $this->expectExceptionCode( $code );
     463            }
     464        }
    444465    }
    445466
Note: See TracChangeset for help on using the changeset viewer.