Code Modernisation: Introduce the spread operator in `tests/phpunit/*`.
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable. Props jrf. See #47678. git-svn-id: https://develop.svn.wordpress.org/trunk@46127 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
516f528421
commit
3ae54e84da
|
@ -911,8 +911,9 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Framework_TestCase {
|
|||
*
|
||||
* @param string ...$prop Any number of WP_Query properties that are expected to be true for the current request.
|
||||
*/
|
||||
public function assertQueryTrue() {
|
||||
public function assertQueryTrue( ...$prop ) {
|
||||
global $wp_query;
|
||||
|
||||
$all = array(
|
||||
'is_404',
|
||||
'is_admin',
|
||||
|
@ -944,9 +945,8 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Framework_TestCase {
|
|||
'is_trackback',
|
||||
'is_year',
|
||||
);
|
||||
$true = func_get_args();
|
||||
|
||||
foreach ( $true as $true_thing ) {
|
||||
foreach ( $prop as $true_thing ) {
|
||||
$this->assertContains( $true_thing, $all, "Unknown conditional: {$true_thing}." );
|
||||
}
|
||||
|
||||
|
@ -956,7 +956,7 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Framework_TestCase {
|
|||
foreach ( $all as $query_thing ) {
|
||||
$result = is_callable( $query_thing ) ? call_user_func( $query_thing ) : $wp_query->$query_thing;
|
||||
|
||||
if ( in_array( $query_thing, $true, true ) ) {
|
||||
if ( in_array( $query_thing, $prop, true ) ) {
|
||||
if ( ! $result ) {
|
||||
$message .= $query_thing . ' is false but is expected to be true. ' . PHP_EOL;
|
||||
$passed = false;
|
||||
|
|
|
@ -128,17 +128,16 @@ class MockAction {
|
|||
return $arg . '_append';
|
||||
}
|
||||
|
||||
function filterall( $tag, $arg = null ) {
|
||||
function filterall( $tag, ...$args ) {
|
||||
// this one doesn't return the result, so it's safe to use with the new 'all' filter
|
||||
if ( $this->debug ) {
|
||||
dmp( __FUNCTION__, $this->current_filter() );
|
||||
}
|
||||
|
||||
$args = func_get_args();
|
||||
$this->events[] = array(
|
||||
'filter' => __FUNCTION__,
|
||||
'tag' => $tag,
|
||||
'args' => array_slice( $args, 1 ),
|
||||
'args' => $args,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -244,10 +243,8 @@ function xml_to_array( $in ) {
|
|||
return $p->data;
|
||||
}
|
||||
|
||||
function xml_find( $tree /*, $el1, $el2, $el3, .. */ ) {
|
||||
$a = func_get_args();
|
||||
$a = array_slice( $a, 1 );
|
||||
$n = count( $a );
|
||||
function xml_find( $tree, ...$elements ) {
|
||||
$n = count( $elements );
|
||||
$out = array();
|
||||
|
||||
if ( $n < 1 ) {
|
||||
|
@ -255,17 +252,15 @@ function xml_find( $tree /*, $el1, $el2, $el3, .. */ ) {
|
|||
}
|
||||
|
||||
for ( $i = 0; $i < count( $tree ); $i++ ) {
|
||||
# echo "checking '{$tree[$i][name]}' == '{$a[0]}'\n";
|
||||
# var_dump($tree[$i]['name'], $a[0]);
|
||||
if ( $tree[ $i ]['name'] === $a[0] ) {
|
||||
# echo "checking '{$tree[$i][name]}' == '{$elements[0]}'\n";
|
||||
# var_dump( $tree[$i]['name'], $elements[0] );
|
||||
if ( $tree[ $i ]['name'] === $elements[0] ) {
|
||||
# echo "n == {$n}\n";
|
||||
if ( 1 === $n ) {
|
||||
$out[] = $tree[ $i ];
|
||||
} else {
|
||||
$subtree =& $tree[ $i ]['child'];
|
||||
$call_args = array( $subtree );
|
||||
$call_args = array_merge( $call_args, array_slice( $a, 1 ) );
|
||||
$out = array_merge( $out, call_user_func_array( 'xml_find', $call_args ) );
|
||||
$out = array_merge( $out, xml_find( $subtree, ...array_slice( $elements, 1 ) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -300,9 +295,7 @@ function xml_array_dumbdown( &$data ) {
|
|||
return $out;
|
||||
}
|
||||
|
||||
function dmp() {
|
||||
$args = func_get_args();
|
||||
|
||||
function dmp( ...$args ) {
|
||||
foreach ( $args as $thing ) {
|
||||
echo ( is_scalar( $thing ) ? strval( $thing ) : var_export( $thing, true ) ), "\n";
|
||||
}
|
||||
|
|
|
@ -2541,10 +2541,11 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
|||
* Capture the actions fired when calling WP_Customize_Manager::set_post_value().
|
||||
*
|
||||
* @see Tests_WP_Customize_Manager::test_set_post_value()
|
||||
*
|
||||
* @param mixed ...$args Optional arguments passed to the action.
|
||||
*/
|
||||
function capture_customize_post_value_set_actions() {
|
||||
function capture_customize_post_value_set_actions( ...$args ) {
|
||||
$action = current_action();
|
||||
$args = func_get_args();
|
||||
$this->captured_customize_post_value_set_actions[] = compact( 'action', 'args' );
|
||||
}
|
||||
|
||||
|
|
|
@ -164,9 +164,10 @@ class Tests_WP_Hook_Do_Action extends WP_UnitTestCase {
|
|||
|
||||
/**
|
||||
* Use this rather than MockAction so we can test callbacks with no args
|
||||
*
|
||||
* @param mixed ...$args Optional arguments passed to the action.
|
||||
*/
|
||||
public function _action_callback() {
|
||||
$args = func_get_args();
|
||||
public function _action_callback( ...$args ) {
|
||||
$this->events[] = array(
|
||||
'action' => __FUNCTION__,
|
||||
'args' => $args,
|
||||
|
|
Loading…
Reference in New Issue