Make WordPress Core

Changeset 55342


Ignore:
Timestamp:
02/14/2023 07:08:54 PM (20 months ago)
Author:
hellofromTonya
Message:

Build/Test Tools: Fix invalid styles data type PHP Warning in REST_Block_Type_Controller_Test::test_get_item_invalid().

Sets the styles block setting to an empty array in the REST_Block_Type_Controller_Test::test_get_item_invalid() test to resolve:

Warning: foreach() argument must be of type array|object, string given in wp-includes/class-wp-theme-json.php on line 835

Previously the test set the styles setting to a string value, which is incompatible. The problem surfaced after [55172] added a foreach to iterate the styles. The root cause was due to this test passing a string instead of an array.

Why?

WP_Block_Type styles property is documented as only accepting an array data type. At the time of this changeset, it does not validate before setting the property.

Code interacting with the property expects it to be an array data type. The PHP Warning alerts that of a doing it wrong when the incorrect data type is registered for the block type.

Follow-up to [55172], [48173].

Props tanjimtc71, hellofromTonya, kapilpaul.
Fixes #57706.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/rest-block-type-controller.php

    r54891 r55342  
    224224            'ancestor'         => 'invalid_ancestor',
    225225            'supports'         => 'invalid_supports',
    226             'styles'           => 'invalid_styles',
     226            'styles'           => array(),
    227227            'render_callback'  => 'invalid_callback',
    228228            'textdomain'       => true,
Note: See TracChangeset for help on using the changeset viewer.