[wp-trac] [WordPress Trac] #57706: REST_Block_Type_Controller_Test::test_get_item_invalid() throws PHP Warning for invalid 'styles' data type

WordPress Trac noreply at wordpress.org
Tue Feb 14 19:09:09 UTC 2023


#57706: REST_Block_Type_Controller_Test::test_get_item_invalid() throws PHP Warning
for invalid 'styles' data type
---------------------------------------------+-----------------------------
 Reporter:  hellofromTonya                   |       Owner:  hellofromTonya
     Type:  defect (bug)                     |      Status:  closed
 Priority:  normal                           |   Milestone:  6.2
Component:  Build/Test Tools                 |     Version:
 Severity:  normal                           |  Resolution:  fixed
 Keywords:  has-patch has-unit-tests commit  |     Focuses:
---------------------------------------------+-----------------------------
Changes (by hellofromTonya):

 * status:  reviewing => closed
 * resolution:   => fixed


Comment:

 In [changeset:"55342" 55342]:
 {{{
 #!CommitTicketReference repository="" revision="55342"
 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.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/57706#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list