Make WordPress Core

Ticket #39822: 39822.4.patch

File 39822.4.patch, 3.3 KB (added by gitlost, 8 years ago)

Use is_callable( 'parent::setExpectedException' ) instead of _setExpectedException().

  • tests/phpunit/includes/bootstrap.php

     
    33 * Installs WordPress for running the tests and loads WordPress and the test libraries
    44 */
    55
     6/**
     7 * Migration fixer for PHPUnit 6
     8 */
     9if ( class_exists( 'PHPUnit\Runner\Version' ) ) {
     10        require_once dirname( __FILE__ ) . '/phpunit6-compat.php';
     11}
    612
    713$config_file_path = dirname( dirname( __FILE__ ) );
    814if ( ! file_exists( $config_file_path . '/wp-tests-config.php' ) ) {
  • tests/phpunit/includes/phpunit6-compat.php

     
     1<?php
     2
     3if ( class_exists( 'PHPUnit\Runner\Version' ) && version_compare( PHPUnit\Runner\Version::id(), '6.0', '>=' ) ) {
     4        class_alias( 'PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase' );
     5        class_alias( 'PHPUnit\Framework\Exception', 'PHPUnit_Framework_Exception' );
     6        class_alias( 'PHPUnit\Framework\ExpectationFailedException', 'PHPUnit_Framework_ExpectationFailedException' );
     7        class_alias( 'PHPUnit\Framework\Error\Notice', 'PHPUnit_Framework_Error_Notice' );
     8        class_alias( 'PHPUnit\Framework\Test', 'PHPUnit_Framework_Test' );
     9        class_alias( 'PHPUnit\Framework\Warning', 'PHPUnit_Framework_Warning' );
     10        class_alias( 'PHPUnit\Framework\AssertionFailedError', 'PHPUnit_Framework_AssertionFailedError' );
     11        class_alias( 'PHPUnit\Framework\TestSuite', 'PHPUnit_Framework_TestSuite' );
     12        class_alias( 'PHPUnit\Framework\TestListener', 'PHPUnit_Framework_TestListener' );
     13        class_alias( 'PHPUnit\Util\GlobalState', 'PHPUnit_Util_GlobalState' );
     14        class_alias( 'PHPUnit\Util\Getopt', 'PHPUnit_Util_Getopt' );
     15
     16        class PHPUnit_Util_Test extends PHPUnit\Util\Test {
     17                public static function getTickets( $className, $methodName ) {
     18                        $annotations = self::parseTestMethodAnnotations(
     19                        $className, $methodName
     20                        );
     21
     22                        $tickets = array();
     23
     24                        if (isset($annotations['class']['ticket'])) {
     25                                $tickets = $annotations['class']['ticket'];
     26                        }
     27
     28                        if (isset($annotations['method']['ticket'])) {
     29                                $tickets = array_merge($tickets, $annotations['method']['ticket']);
     30                        }
     31
     32                        return array_unique($tickets);
     33                }
     34        }
     35}
  • tests/phpunit/includes/testcase-ajax.php

     
    200200                if ( !empty( $buffer ) )
    201201                        $this->_last_response = $buffer;
    202202        }
     203
     204        /**
     205         * PHPUnit 6 compatibility shim.
     206         *
     207         * @param mixed      $exception
     208         * @param string     $message
     209         * @param int|string $code
     210         */
     211        public function setExpectedException( $exception, $message = '', $code = null ) {
     212                if ( is_callable( 'parent::setExpectedException' ) ) {
     213                        parent::setExpectedException( $exception, $message, $code );
     214                } else {
     215                        $this->expectException( $exception );
     216                        if ( '' !== $message ) {
     217                                $this->expectExceptionMessage( $message );
     218                        }
     219                        if ( null !== $code ) {
     220                                $this->expectExceptionCode( $code );
     221                        }
     222                }
     223        }
    203224}