WordPress.org

Make WordPress Core

Ticket #46957: 46957-52.diff

File 46957-52.diff, 24.0 KB (added by peterwilsoncc, 14 months ago)

Backport patch with menu.php conflict resolved.

  • src/wp-admin/includes/ajax-actions.php

    diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php
    index 0f1f0f4e04..da9acdc7e9 100644
    a b function wp_ajax_wp_privacy_erase_personal_data() { 
    48694869function wp_ajax_health_check_dotorg_communication() {
    48704870        check_ajax_referer( 'health-check-site-status' );
    48714871
    4872         if ( ! current_user_can( 'install_plugins' ) ) {
     4872        if ( ! current_user_can( 'view_site_health_checks' ) ) {
    48734873                wp_send_json_error();
    48744874        }
    48754875
    function wp_ajax_health_check_dotorg_communication() { 
    48894889function wp_ajax_health_check_is_in_debug_mode() {
    48904890        wp_verify_nonce( 'health-check-site-status' );
    48914891
    4892         if ( ! current_user_can( 'install_plugins' ) ) {
     4892        if ( ! current_user_can( 'view_site_health_checks' ) ) {
    48934893                wp_send_json_error();
    48944894        }
    48954895
    function wp_ajax_health_check_is_in_debug_mode() { 
    49094909function wp_ajax_health_check_background_updates() {
    49104910        check_ajax_referer( 'health-check-site-status' );
    49114911
    4912         if ( ! current_user_can( 'install_plugins' ) ) {
     4912        if ( ! current_user_can( 'view_site_health_checks' ) ) {
    49134913                wp_send_json_error();
    49144914        }
    49154915
    function wp_ajax_health_check_background_updates() { 
    49304930function wp_ajax_health_check_loopback_requests() {
    49314931        check_ajax_referer( 'health-check-site-status' );
    49324932
    4933         if ( ! current_user_can( 'install_plugins' ) ) {
     4933        if ( ! current_user_can( 'view_site_health_checks' ) ) {
    49344934                wp_send_json_error();
    49354935        }
    49364936
    function wp_ajax_health_check_loopback_requests() { 
    49504950function wp_ajax_health_check_site_status_result() {
    49514951        check_ajax_referer( 'health-check-site-status-result' );
    49524952
    4953         if ( ! current_user_can( 'install_plugins' ) ) {
     4953        if ( ! current_user_can( 'view_site_health_checks' ) ) {
    49544954                wp_send_json_error();
    49554955        }
    49564956
    function wp_ajax_health_check_site_status_result() { 
    49674967function wp_ajax_health_check_get_sizes() {
    49684968        check_ajax_referer( 'health-check-site-status-result' );
    49694969
    4970         if ( ! current_user_can( 'install_plugins' ) || is_multisite() ) {
     4970        if ( ! current_user_can( 'view_site_health_checks' ) || is_multisite() ) {
    49714971                wp_send_json_error();
    49724972        }
    49734973
  • src/wp-admin/menu.php

    diff --git a/src/wp-admin/menu.php b/src/wp-admin/menu.php
    index d126339552..5ccf37f644 100644
    a b $menu[75] = array( __( 'Tools' ), 'edit_posts', 'tools.php', 
    263263        $submenu['tools.php'][5]  = array( __( 'Available Tools' ), 'edit_posts', 'tools.php' );
    264264        $submenu['tools.php'][10] = array( __( 'Import' ), 'import', 'import.php' );
    265265        $submenu['tools.php'][15] = array( __( 'Export' ), 'export', 'export.php' );
    266         $submenu['tools.php'][20] = array( __( 'Site Health' ), 'install_plugins', 'site-health.php' );
     266        $submenu['tools.php'][20] = array( __( 'Site Health' ), 'view_site_health_checks', 'site-health.php' );
    267267if ( is_multisite() && ! is_main_site() ) {
    268268        $submenu['tools.php'][25] = array( __( 'Delete Site' ), 'delete_site', 'ms-delete-site.php' );
    269269}
  • src/wp-admin/site-health-info.php

    diff --git a/src/wp-admin/site-health-info.php b/src/wp-admin/site-health-info.php
    index 42f2be0367..d65581d9c2 100644
    a b require_once( dirname( __FILE__ ) . '/admin.php' ); 
    1111
    1212$title = __( 'Site Health Info' );
    1313
    14 if ( ! current_user_can( 'install_plugins' ) ) {
     14if ( ! current_user_can( 'view_site_health_checks' ) ) {
    1515        wp_die( __( 'Sorry, you are not allowed to access the debug data.' ), '', 403 );
    1616}
    1717
  • src/wp-admin/site-health.php

    diff --git a/src/wp-admin/site-health.php b/src/wp-admin/site-health.php
    index 2c5962675e..b779a15a1b 100644
    a b require_once( dirname( __FILE__ ) . '/admin.php' ); 
    1616
    1717$title = __( 'Site Health Status' );
    1818
    19 if ( ! current_user_can( 'install_plugins' ) ) {
     19if ( ! current_user_can( 'view_site_health_checks' ) ) {
    2020        wp_die( __( 'Sorry, you are not allowed to access site health information.' ), '', 403 );
    2121}
    2222
  • src/wp-includes/capabilities.php

    diff --git a/src/wp-includes/capabilities.php b/src/wp-includes/capabilities.php
    index 640ca6f910..e065d60e55 100644
    a b function wp_maybe_grant_resume_extensions_caps( $allcaps ) { 
    979979        return $allcaps;
    980980}
    981981
     982/**
     983 * Filters the user capabilities to grant the 'view_site_health_checks' capabilities as necessary.
     984 *
     985 * @since 5.2.2
     986 *
     987 * @param bool[]   $allcaps An array of all the user's capabilities.
     988 * @param string[] $caps    Required primitive capabilities for the requested capability.
     989 * @param array    $args {
     990 *     Arguments that accompany the requested capability check.
     991 *
     992 *     @type string    $0 Requested capability.
     993 *     @type int       $1 Concerned user ID.
     994 *     @type mixed  ...$2 Optional second and further parameters, typically object ID.
     995 * }
     996 * @param WP_User  $user    The user object.
     997 * @return bool[] Filtered array of the user's capabilities.
     998 */
     999function wp_maybe_grant_site_health_caps( $allcaps, $caps, $args, $user ) {
     1000        if ( ! empty( $allcaps['install_plugins'] ) && ( ! is_multisite() || is_super_admin( $user->ID ) ) ) {
     1001                $allcaps['view_site_health_checks'] = true;
     1002        }
     1003
     1004        return $allcaps;
     1005}
     1006
    9821007return;
    9831008
    9841009// Dummy gettext calls to get strings in the catalog.
  • src/wp-includes/default-filters.php

    diff --git a/src/wp-includes/default-filters.php b/src/wp-includes/default-filters.php
    index ecdc87cb3a..056e8ffb43 100644
    a b add_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10, 3 ); 
    580580// Capabilities
    581581add_filter( 'user_has_cap', 'wp_maybe_grant_install_languages_cap', 1 );
    582582add_filter( 'user_has_cap', 'wp_maybe_grant_resume_extensions_caps', 1 );
     583add_filter( 'user_has_cap', 'wp_maybe_grant_site_health_caps', 1, 4 );
    583584
    584585unset( $filter, $action );
  • tests/phpunit/tests/user/capabilities.php

    diff --git a/tests/phpunit/tests/user/capabilities.php b/tests/phpunit/tests/user/capabilities.php
    index 86d70c3ea2..a0446f17e4 100644
    a b class Tests_User_Capabilities extends WP_UnitTestCase { 
    7676        final private function _getSingleSitePrimitiveCaps() {
    7777                return array(
    7878
    79                         'unfiltered_html'        => array( 'administrator', 'editor' ),
    80 
    81                         'activate_plugins'       => array( 'administrator' ),
    82                         'create_users'           => array( 'administrator' ),
    83                         'delete_plugins'         => array( 'administrator' ),
    84                         'delete_themes'          => array( 'administrator' ),
    85                         'delete_users'           => array( 'administrator' ),
    86                         'edit_files'             => array( 'administrator' ),
    87                         'edit_plugins'           => array( 'administrator' ),
    88                         'edit_themes'            => array( 'administrator' ),
    89                         'edit_users'             => array( 'administrator' ),
    90                         'install_plugins'        => array( 'administrator' ),
    91                         'install_themes'         => array( 'administrator' ),
    92                         'update_core'            => array( 'administrator' ),
    93                         'update_plugins'         => array( 'administrator' ),
    94                         'update_themes'          => array( 'administrator' ),
    95                         'edit_theme_options'     => array( 'administrator' ),
    96                         'export'                 => array( 'administrator' ),
    97                         'import'                 => array( 'administrator' ),
    98                         'list_users'             => array( 'administrator' ),
    99                         'manage_options'         => array( 'administrator' ),
    100                         'promote_users'          => array( 'administrator' ),
    101                         'remove_users'           => array( 'administrator' ),
    102                         'switch_themes'          => array( 'administrator' ),
    103                         'edit_dashboard'         => array( 'administrator' ),
    104                         'resume_plugins'         => array( 'administrator' ),
    105                         'resume_themes'          => array( 'administrator' ),
    106 
    107                         'moderate_comments'      => array( 'administrator', 'editor' ),
    108                         'manage_categories'      => array( 'administrator', 'editor' ),
    109                         'edit_others_posts'      => array( 'administrator', 'editor' ),
    110                         'edit_pages'             => array( 'administrator', 'editor' ),
    111                         'edit_others_pages'      => array( 'administrator', 'editor' ),
    112                         'edit_published_pages'   => array( 'administrator', 'editor' ),
    113                         'publish_pages'          => array( 'administrator', 'editor' ),
    114                         'delete_pages'           => array( 'administrator', 'editor' ),
    115                         'delete_others_pages'    => array( 'administrator', 'editor' ),
    116                         'delete_published_pages' => array( 'administrator', 'editor' ),
    117                         'delete_others_posts'    => array( 'administrator', 'editor' ),
    118                         'delete_private_posts'   => array( 'administrator', 'editor' ),
    119                         'edit_private_posts'     => array( 'administrator', 'editor' ),
    120                         'read_private_posts'     => array( 'administrator', 'editor' ),
    121                         'delete_private_pages'   => array( 'administrator', 'editor' ),
    122                         'edit_private_pages'     => array( 'administrator', 'editor' ),
    123                         'read_private_pages'     => array( 'administrator', 'editor' ),
    124 
    125                         'edit_published_posts'   => array( 'administrator', 'editor', 'author' ),
    126                         'upload_files'           => array( 'administrator', 'editor', 'author' ),
    127                         'publish_posts'          => array( 'administrator', 'editor', 'author' ),
    128                         'delete_published_posts' => array( 'administrator', 'editor', 'author' ),
    129 
    130                         'edit_posts'             => array( 'administrator', 'editor', 'author', 'contributor' ),
    131                         'delete_posts'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    132 
    133                         'read'                   => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    134 
    135                         'level_10'               => array( 'administrator' ),
    136                         'level_9'                => array( 'administrator' ),
    137                         'level_8'                => array( 'administrator' ),
    138                         'level_7'                => array( 'administrator', 'editor' ),
    139                         'level_6'                => array( 'administrator', 'editor' ),
    140                         'level_5'                => array( 'administrator', 'editor' ),
    141                         'level_4'                => array( 'administrator', 'editor' ),
    142                         'level_3'                => array( 'administrator', 'editor' ),
    143                         'level_2'                => array( 'administrator', 'editor', 'author' ),
    144                         'level_1'                => array( 'administrator', 'editor', 'author', 'contributor' ),
    145                         'level_0'                => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    146 
    147                         'administrator'          => array( 'administrator' ),
    148                         'editor'                 => array( 'editor' ),
    149                         'author'                 => array( 'author' ),
    150                         'contributor'            => array( 'contributor' ),
    151                         'subscriber'             => array( 'subscriber' ),
     79                        'unfiltered_html'         => array( 'administrator', 'editor' ),
     80
     81                        'activate_plugins'        => array( 'administrator' ),
     82                        'create_users'            => array( 'administrator' ),
     83                        'delete_plugins'          => array( 'administrator' ),
     84                        'delete_themes'           => array( 'administrator' ),
     85                        'delete_users'            => array( 'administrator' ),
     86                        'edit_files'              => array( 'administrator' ),
     87                        'edit_plugins'            => array( 'administrator' ),
     88                        'edit_themes'             => array( 'administrator' ),
     89                        'edit_users'              => array( 'administrator' ),
     90                        'install_plugins'         => array( 'administrator' ),
     91                        'install_themes'          => array( 'administrator' ),
     92                        'update_core'             => array( 'administrator' ),
     93                        'update_plugins'          => array( 'administrator' ),
     94                        'update_themes'           => array( 'administrator' ),
     95                        'edit_theme_options'      => array( 'administrator' ),
     96                        'export'                  => array( 'administrator' ),
     97                        'import'                  => array( 'administrator' ),
     98                        'list_users'              => array( 'administrator' ),
     99                        'manage_options'          => array( 'administrator' ),
     100                        'promote_users'           => array( 'administrator' ),
     101                        'remove_users'            => array( 'administrator' ),
     102                        'switch_themes'           => array( 'administrator' ),
     103                        'edit_dashboard'          => array( 'administrator' ),
     104                        'resume_plugins'          => array( 'administrator' ),
     105                        'resume_themes'           => array( 'administrator' ),
     106                        'view_site_health_checks' => array( 'administrator' ),
     107
     108                        'moderate_comments'       => array( 'administrator', 'editor' ),
     109                        'manage_categories'       => array( 'administrator', 'editor' ),
     110                        'edit_others_posts'       => array( 'administrator', 'editor' ),
     111                        'edit_pages'              => array( 'administrator', 'editor' ),
     112                        'edit_others_pages'       => array( 'administrator', 'editor' ),
     113                        'edit_published_pages'    => array( 'administrator', 'editor' ),
     114                        'publish_pages'           => array( 'administrator', 'editor' ),
     115                        'delete_pages'            => array( 'administrator', 'editor' ),
     116                        'delete_others_pages'     => array( 'administrator', 'editor' ),
     117                        'delete_published_pages'  => array( 'administrator', 'editor' ),
     118                        'delete_others_posts'     => array( 'administrator', 'editor' ),
     119                        'delete_private_posts'    => array( 'administrator', 'editor' ),
     120                        'edit_private_posts'      => array( 'administrator', 'editor' ),
     121                        'read_private_posts'      => array( 'administrator', 'editor' ),
     122                        'delete_private_pages'    => array( 'administrator', 'editor' ),
     123                        'edit_private_pages'      => array( 'administrator', 'editor' ),
     124                        'read_private_pages'      => array( 'administrator', 'editor' ),
     125
     126                        'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
     127                        'upload_files'            => array( 'administrator', 'editor', 'author' ),
     128                        'publish_posts'           => array( 'administrator', 'editor', 'author' ),
     129                        'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
     130
     131                        'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
     132                        'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     133
     134                        'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     135
     136                        'level_10'                => array( 'administrator' ),
     137                        'level_9'                 => array( 'administrator' ),
     138                        'level_8'                 => array( 'administrator' ),
     139                        'level_7'                 => array( 'administrator', 'editor' ),
     140                        'level_6'                 => array( 'administrator', 'editor' ),
     141                        'level_5'                 => array( 'administrator', 'editor' ),
     142                        'level_4'                 => array( 'administrator', 'editor' ),
     143                        'level_3'                 => array( 'administrator', 'editor' ),
     144                        'level_2'                 => array( 'administrator', 'editor', 'author' ),
     145                        'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
     146                        'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     147
     148                        'administrator'           => array( 'administrator' ),
     149                        'editor'                  => array( 'editor' ),
     150                        'author'                  => array( 'author' ),
     151                        'contributor'             => array( 'contributor' ),
     152                        'subscriber'              => array( 'subscriber' ),
    152153
    153154                );
    154155
    class Tests_User_Capabilities extends WP_UnitTestCase { 
    157158        final private function _getMultiSitePrimitiveCaps() {
    158159                return array(
    159160
    160                         'unfiltered_html'        => array(),
    161 
    162                         'activate_plugins'       => array(),
    163                         'create_users'           => array(),
    164                         'delete_plugins'         => array(),
    165                         'delete_themes'          => array(),
    166                         'delete_users'           => array(),
    167                         'edit_files'             => array(),
    168                         'edit_plugins'           => array(),
    169                         'edit_themes'            => array(),
    170                         'edit_users'             => array(),
    171                         'install_plugins'        => array(),
    172                         'install_themes'         => array(),
    173                         'update_core'            => array(),
    174                         'update_plugins'         => array(),
    175                         'update_themes'          => array(),
    176 
    177                         'edit_theme_options'     => array( 'administrator' ),
    178                         'export'                 => array( 'administrator' ),
    179                         'import'                 => array( 'administrator' ),
    180                         'list_users'             => array( 'administrator' ),
    181                         'manage_options'         => array( 'administrator' ),
    182                         'promote_users'          => array( 'administrator' ),
    183                         'remove_users'           => array( 'administrator' ),
    184                         'switch_themes'          => array( 'administrator' ),
    185                         'edit_dashboard'         => array( 'administrator' ),
    186                         'resume_plugins'         => array( 'administrator' ),
    187                         'resume_themes'          => array( 'administrator' ),
    188 
    189                         'moderate_comments'      => array( 'administrator', 'editor' ),
    190                         'manage_categories'      => array( 'administrator', 'editor' ),
    191                         'edit_others_posts'      => array( 'administrator', 'editor' ),
    192                         'edit_pages'             => array( 'administrator', 'editor' ),
    193                         'edit_others_pages'      => array( 'administrator', 'editor' ),
    194                         'edit_published_pages'   => array( 'administrator', 'editor' ),
    195                         'publish_pages'          => array( 'administrator', 'editor' ),
    196                         'delete_pages'           => array( 'administrator', 'editor' ),
    197                         'delete_others_pages'    => array( 'administrator', 'editor' ),
    198                         'delete_published_pages' => array( 'administrator', 'editor' ),
    199                         'delete_others_posts'    => array( 'administrator', 'editor' ),
    200                         'delete_private_posts'   => array( 'administrator', 'editor' ),
    201                         'edit_private_posts'     => array( 'administrator', 'editor' ),
    202                         'read_private_posts'     => array( 'administrator', 'editor' ),
    203                         'delete_private_pages'   => array( 'administrator', 'editor' ),
    204                         'edit_private_pages'     => array( 'administrator', 'editor' ),
    205                         'read_private_pages'     => array( 'administrator', 'editor' ),
    206 
    207                         'edit_published_posts'   => array( 'administrator', 'editor', 'author' ),
    208                         'upload_files'           => array( 'administrator', 'editor', 'author' ),
    209                         'publish_posts'          => array( 'administrator', 'editor', 'author' ),
    210                         'delete_published_posts' => array( 'administrator', 'editor', 'author' ),
    211 
    212                         'edit_posts'             => array( 'administrator', 'editor', 'author', 'contributor' ),
    213                         'delete_posts'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    214 
    215                         'read'                   => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    216 
    217                         'level_10'               => array( 'administrator' ),
    218                         'level_9'                => array( 'administrator' ),
    219                         'level_8'                => array( 'administrator' ),
    220                         'level_7'                => array( 'administrator', 'editor' ),
    221                         'level_6'                => array( 'administrator', 'editor' ),
    222                         'level_5'                => array( 'administrator', 'editor' ),
    223                         'level_4'                => array( 'administrator', 'editor' ),
    224                         'level_3'                => array( 'administrator', 'editor' ),
    225                         'level_2'                => array( 'administrator', 'editor', 'author' ),
    226                         'level_1'                => array( 'administrator', 'editor', 'author', 'contributor' ),
    227                         'level_0'                => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    228 
    229                         'administrator'          => array( 'administrator' ),
    230                         'editor'                 => array( 'editor' ),
    231                         'author'                 => array( 'author' ),
    232                         'contributor'            => array( 'contributor' ),
    233                         'subscriber'             => array( 'subscriber' ),
     161                        'unfiltered_html'         => array(),
     162
     163                        'activate_plugins'        => array(),
     164                        'create_users'            => array(),
     165                        'delete_plugins'          => array(),
     166                        'delete_themes'           => array(),
     167                        'delete_users'            => array(),
     168                        'edit_files'              => array(),
     169                        'edit_plugins'            => array(),
     170                        'edit_themes'             => array(),
     171                        'edit_users'              => array(),
     172                        'install_plugins'         => array(),
     173                        'install_themes'          => array(),
     174                        'update_core'             => array(),
     175                        'update_plugins'          => array(),
     176                        'update_themes'           => array(),
     177                        'view_site_health_checks' => array(),
     178
     179                        'edit_theme_options'      => array( 'administrator' ),
     180                        'export'                  => array( 'administrator' ),
     181                        'import'                  => array( 'administrator' ),
     182                        'list_users'              => array( 'administrator' ),
     183                        'manage_options'          => array( 'administrator' ),
     184                        'promote_users'           => array( 'administrator' ),
     185                        'remove_users'            => array( 'administrator' ),
     186                        'switch_themes'           => array( 'administrator' ),
     187                        'edit_dashboard'          => array( 'administrator' ),
     188                        'resume_plugins'          => array( 'administrator' ),
     189                        'resume_themes'           => array( 'administrator' ),
     190
     191                        'moderate_comments'       => array( 'administrator', 'editor' ),
     192                        'manage_categories'       => array( 'administrator', 'editor' ),
     193                        'edit_others_posts'       => array( 'administrator', 'editor' ),
     194                        'edit_pages'              => array( 'administrator', 'editor' ),
     195                        'edit_others_pages'       => array( 'administrator', 'editor' ),
     196                        'edit_published_pages'    => array( 'administrator', 'editor' ),
     197                        'publish_pages'           => array( 'administrator', 'editor' ),
     198                        'delete_pages'            => array( 'administrator', 'editor' ),
     199                        'delete_others_pages'     => array( 'administrator', 'editor' ),
     200                        'delete_published_pages'  => array( 'administrator', 'editor' ),
     201                        'delete_others_posts'     => array( 'administrator', 'editor' ),
     202                        'delete_private_posts'    => array( 'administrator', 'editor' ),
     203                        'edit_private_posts'      => array( 'administrator', 'editor' ),
     204                        'read_private_posts'      => array( 'administrator', 'editor' ),
     205                        'delete_private_pages'    => array( 'administrator', 'editor' ),
     206                        'edit_private_pages'      => array( 'administrator', 'editor' ),
     207                        'read_private_pages'      => array( 'administrator', 'editor' ),
     208
     209                        'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
     210                        'upload_files'            => array( 'administrator', 'editor', 'author' ),
     211                        'publish_posts'           => array( 'administrator', 'editor', 'author' ),
     212                        'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
     213
     214                        'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
     215                        'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     216
     217                        'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     218
     219                        'level_10'                => array( 'administrator' ),
     220                        'level_9'                 => array( 'administrator' ),
     221                        'level_8'                 => array( 'administrator' ),
     222                        'level_7'                 => array( 'administrator', 'editor' ),
     223                        'level_6'                 => array( 'administrator', 'editor' ),
     224                        'level_5'                 => array( 'administrator', 'editor' ),
     225                        'level_4'                 => array( 'administrator', 'editor' ),
     226                        'level_3'                 => array( 'administrator', 'editor' ),
     227                        'level_2'                 => array( 'administrator', 'editor', 'author' ),
     228                        'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
     229                        'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     230
     231                        'administrator'           => array( 'administrator' ),
     232                        'editor'                  => array( 'editor' ),
     233                        'author'                  => array( 'author' ),
     234                        'contributor'             => array( 'contributor' ),
     235                        'subscriber'              => array( 'subscriber' ),
    234236
    235237                );
    236238
    class Tests_User_Capabilities extends WP_UnitTestCase { 
    397399                        $actual['author'],
    398400                        $actual['subscriber'],
    399401                        $actual['contributor'],
    400                         // the following two are granted via `user_has_cap`:
     402                        // The following are granted via `user_has_cap`:
    401403                        $actual['resume_plugins'],
    402                         $actual['resume_themes']
     404                        $actual['resume_themes'],
     405                        $actual['view_site_health_checks']
    403406                );
    404407
    405408                unset(
    class Tests_User_Capabilities extends WP_UnitTestCase { 
    12001203                $this->assertFalse( $contributor->has_cap( 'publish_post', $post ) );
    12011204                $this->assertFalse( $contributor->has_cap( 'edit_post', $post ) );
    12021205                $this->assertFalse( $contributor->has_cap( 'delete_post', $post ) );
    1203                 $this->assertEquals( $status === 'publish', $contributor->has_cap( 'read_post', $post ) );
     1206                $this->assertEquals( 'publish' === $status, $contributor->has_cap( 'read_post', $post ) );
    12041207        }
    12051208
    12061209        /**