WordPress.org

Make WordPress Core

Ticket #47678: 47678-wp_list_widgets-and-associated-unit-tests.patch

File 47678-wp_list_widgets-and-associated-unit-tests.patch, 2.9 KB (added by jrf, 7 months ago)

Modernize wp_list_widgets() and associated unit tests ... and improve the readability of the code.

  • src/wp-admin/includes/widgets.php

    From f66aaa1afa24859762386cea20c8a607cd282556 Mon Sep 17 00:00:00 2001
    From: jrfnl <jrfnl@users.noreply.github.com>
    Date: Fri, 19 Jul 2019 16:13:24 +0200
    Subject: [PATCH] Modernize wp_list_widgets() and associated unit tests
    
    ... and improve the readability of the code.
    ---
     src/wp-admin/includes/widgets.php | 11 +++++------
     tests/phpunit/tests/widgets.php   | 28 +++++++++++++---------------
     2 files changed, 18 insertions(+), 21 deletions(-)
    
    diff --git a/src/wp-admin/includes/widgets.php b/src/wp-admin/includes/widgets.php
    index f3ad9fd303..a1ba889169 100644
    a b function wp_list_widgets() { 
    5151                        }
    5252                }
    5353
    54                 $args = wp_list_widget_controls_dynamic_sidebar(
    55                         array(
    56                                 0 => $args,
    57                                 1 => $widget['params'][0],
    58                         )
     54                $control_args = array(
     55                        0 => $args,
     56                        1 => $widget['params'][0],
    5957                );
    60                 call_user_func_array( 'wp_widget_control', $args );
     58                $sidebar_args = wp_list_widget_controls_dynamic_sidebar( $control_args );
     59                wp_widget_control( ...$sidebar_args );
    6160        }
    6261}
    6362
  • tests/phpunit/tests/widgets.php

    diff --git a/tests/phpunit/tests/widgets.php b/tests/phpunit/tests/widgets.php
    index 4d404100f6..7b040cfe3d 100644
    a b class Tests_Widgets extends WP_UnitTestCase { 
    620620
    621621                wp_widgets_init();
    622622                require_once ABSPATH . '/wp-admin/includes/widgets.php';
    623                 $widget_id = 'search-2';
    624                 $widget    = $wp_registered_widgets[ $widget_id ];
    625                 $params    = array(
     623                $widget_id    = 'search-2';
     624                $widget       = $wp_registered_widgets[ $widget_id ];
     625                $params       = array(
    626626                        'widget_id'   => $widget['id'],
    627627                        'widget_name' => $widget['name'],
    628628                );
    629                 $args      = wp_list_widget_controls_dynamic_sidebar(
    630                         array(
    631                                 0 => $params,
    632                                 1 => $widget['params'][0],
    633                         )
     629                $control_args = array(
     630                        0 => $params,
     631                        1 => $widget['params'][0],
    634632                );
     633                $sidebar_args = wp_list_widget_controls_dynamic_sidebar( $control_args );
    635634
    636635                ob_start();
    637                 call_user_func_array( 'wp_widget_control', $args );
     636                wp_widget_control( ...$sidebar_args );
    638637                $control = ob_get_clean();
    639638                $this->assertNotEmpty( $control );
    640639
    class Tests_Widgets extends WP_UnitTestCase { 
    659658                        'after_widget_content'  => '<!-- after_widget_content -->',
    660659                );
    661660                $params          = array_merge( $params, $param_overrides );
    662                 $args            = wp_list_widget_controls_dynamic_sidebar(
    663                         array(
    664                                 0 => $params,
    665                                 1 => $widget['params'][0],
    666                         )
     661                $control_args    = array(
     662                        0 => $params,
     663                        1 => $widget['params'][0],
    667664                );
     665                $sidebar_args    = wp_list_widget_controls_dynamic_sidebar( $control_args );
    668666
    669667                ob_start();
    670                 call_user_func_array( 'wp_widget_control', $args );
     668                wp_widget_control( ...$sidebar_args );
    671669                $control = ob_get_clean();
    672670                $this->assertNotEmpty( $control );
    673671                $this->assertNotContains( '<form method="post">', $control );