Build/Test Tools: Replace assertInternalType() usage in unit tests.

The `assertInternalType()` and `assertNotInternalType()` methods are deprecated in PHPUnit 8 and removed in PHPUnit 9.

While WordPress test suite currently only supports PHPUnit up to 7.5.x, this allows us to switch to newer assertions ahead of adding full support for PHPUnit 8+.

These methods introduced in PHPUnit 7.5 should be used as an alternative:

* `assertIsArray()`
* `assertIsBool()`
* `assertIsFloat()`
* `assertIsInt()`
* `assertIsNumeric()`
* `assertIsObject()`
* `assertIsResource()`
* `assertIsString()`
* `assertIsScalar()`
* `assertIsCallable()`
* `assertIsIterable()`
* `assertIsNotArray()`
* `assertIsNotBool()`
* `assertIsNotFloat()`
* `assertIsNotInt()`
* `assertIsNotNumeric()`
* `assertIsNotObject()`
* `assertIsNotResource()`
* `assertIsNotString()`
* `assertIsNotScalar()`
* `assertIsNotCallable()`
* `assertIsNotIterable()`

As WordPress currently uses PHPUnit 5.7.x to run tests on PHP 5.6, polyfills for these methods are now added to the `WP_UnitTestCase` class for PHPUnit < 7.5.

Props pbearne, jrf, dd32, SergeyBiryukov.
Fixes #53491. See #46149.

git-svn-id: https://develop.svn.wordpress.org/trunk@51331 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2021-07-05 17:21:53 +00:00
parent fee45f935c
commit bca693b190
104 changed files with 884 additions and 535 deletions

View File

@@ -352,7 +352,7 @@ if ( is_multisite() ) :
// We can't use wp_schedule_update_network_counts() because WP_INSTALLING is set.
wp_schedule_event( time(), 'twicedaily', 'update_network_counts' );
$this->assertInternalType( 'int', wp_next_scheduled( 'update_network_counts' ) );
$this->assertIsInt( wp_next_scheduled( 'update_network_counts' ) );
}
/**
@@ -365,7 +365,7 @@ if ( is_multisite() ) :
$user_id = self::factory()->user->create( array( 'role' => 'administrator' ) );
$blog_id = self::factory()->blog->create( array( 'user_id' => $user_id ) );
$this->assertInternalType( 'int', $blog_id );
$this->assertIsInt( $blog_id );
// Set the dashboard blog to another one.
update_site_option( 'dashboard_blog', $blog_id );