wordpress-develop/tests/phpunit/includes/factory/class-wp-unittest-factory-callback-after-create.php
Sergey Biryukov d0fc6ddc71 Tests: Bring some consistency to creating and updating objects in factory classes.
In various unit test factory classes, some of the `create_object()` and `update_object()` methods returned a `WP_Error` object on failure, while a few others were documented to do so, but did not in practice, instead returning the value `0` or `false`, or not accounting for a failure at all.

This commit aims to handle this in a consistent way by updating the methods to always return the object ID on success and a `WP_Error` object on failure.

Includes:
* Updating and correcting the relevant documentation parts.
* Adding missing documentation and `@since` tags in some classes.
* Renaming some variables to clarify that it is the object ID which is passed around, not the object itself.

Follow-up to [760/tests], [838/tests], [922/tests], [948/tests], [985/tests], [27178], [32659], [34855], [37563], [40968], [44497], [46262].

See #56793.

git-svn-id: https://develop.svn.wordpress.org/trunk@55019 602fd350-edb4-49c9-b593-d223f7449a82
2022-12-28 14:07:16 +00:00

34 lines
633 B
PHP

<?php
class WP_UnitTest_Factory_Callback_After_Create {
/**
* @var callable
*/
public $callback;
/**
* WP_UnitTest_Factory_Callback_After_Create constructor.
*
* @since UT (3.7.0)
*
* @param callable $callback A callback function.
*/
public function __construct( $callback ) {
$this->callback = $callback;
}
/**
* Calls the set callback on a given object.
*
* @since UT (3.7.0)
*
* @param int $object_id ID of the object to apply the callback on.
*
* @return mixed Updated object field.
*/
public function call( $object_id ) {
return call_user_func( $this->callback, $object_id );
}
}